如果有一个子类继承了父类,在子类中定义了一个与父类同名的方法会覆盖父类中的方法,使用super()函数可以实现保留父类方法的功能,或者在其基础上再添加功能。
举例:
# 父类
class animal(object):
def __init__(self,name):
print('I\'m ' + name)
# 子类
class cat(animal):
def __init__(self,name):
super().__init__(name)
print('meow……')
# super()的位置会影响调用的顺序
class mouse(animal):
def __init__(self,name):
print('zhizhi……')
super().__init__(name)
输出:
cat_1 = cat('Tom')
>I'm Tom
>meow……
mouse_1 = mouse('Jerry')
>zhizhi……
>I'm Jerry