Python中,子类可以通过调用父类的方法来实现一些特定的功能,这在实际开发过程中是非常有用的。下面是完整的攻略。
1. 定义父类
在 Python 中,定义一个类使用 class
关键字,并且类名需要使用驼峰命名法。同时,需要通过 __init__
方法定义类的属性。具体代码如下:
class People:
def __init__(self, name, age):
self.name = name
self.age = age
def eat(self):
print('People are eating...')
2. 定义子类并调用父类的方法
在 Python 中,子类可以通过调用父类的方法来实现一些特定的功能。具体代码如下:
class Teacher(People):
def __init__(self, name, age, course):
super().__init__(name, age)
self.course = course
def teach(self):
print('Teacher is teaching {} course...'.format(self.course))
def eat(self):
print('Teacher is enjoying a meal...')
super().eat()
在上述示例中,我们定义了一个 Teacher
类,继承了 People
类。并且在 __init__
方法中,我们调用了父类的 __init__
方法,以初始化 name
和 age
属性。另外,我们在 eat
方法中重写了 People
类的 eat
方法,并且通过 super().eat()
调用了父类的 eat
方法。这样,子类就可以在调用父类方法的基础上,增加一些独有的功能。
下面是一个示例代码的运行结果:
teacher = Teacher('Tom', 30, 'Math')
teacher.teach()
teacher.eat()
输出结果如下:
Teacher is teaching Math course...
Teacher is enjoying a meal...
People are eating...
另外,我们还可以通过多重继承,调用多个父类的方法。具体代码如下:
class SportsMan(People):
def __init__(self, name, age):
super().__init__(name, age)
def play(self):
print('SportsMan is playing...')
class SportsTeacher(Teacher, SportsMan):
def __init__(self, name, age, course):
super().__init__(name, age, course)
def teach(self):
print('SportsTeacher is teaching {} course...'.format(self.course))
def eat(self):
print('SportsTeacher is enjoying a meal...')
super().eat()
在上述示例中,我们定义了一个 SportsMan
类,继承了 People
类,同时定义了一个 SportsTeacher
类,继承了 Teacher
类和 SportsMan
类。通过上述实现,SportsTeacher
类可以调用 Teacher
类和 SportsMan
类的方法。下面是一个示例代码的运行结果:
sports_teacher = SportsTeacher('Ann', 35, 'Basketball')
sports_teacher.teach()
sports_teacher.play()
sports_teacher.eat()
输出结果如下:
SportsTeacher is teaching Basketball course...
SportsMan is playing...
SportsTeacher is enjoying a meal...
People are eating...
通过实际操作,我们可以清楚地发现,在 Python 中,子类调用父类方法的步骤非常简单,同时也非常常用。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python实现子类调用父类的方法 - Python技术站