
python中类的初始化都是def __init__()。
所以父类和子类的初始化方式都是__init__(),
- 但是如果子类初始化时没有这个函数,那么它便调用父类的
__init__();
- 如果子类实现了
def __init__这个函数,就会覆盖父类的初始化函数。
- 如果继承父类的
__init__(),就需要在子类中显示调用这个函数。
所以,当子类中
- 既需要在自己的初始化函数,重写自己的属性,
- 又需要继承父类中,原始的属性;
满足以上情况时, 子类在定义自己的初始化函数时def __init__(self, ), 便会结合super(sub_class, self) 一起使用;
实现如下:
class Animal(object):
def __init__(self):
self.name = " I am a father class"
class Panda(Animal):
def __init__(self): // 重写父类中的属性
super(Panda, self).__init__() //继承父类中的属性;
if __name__ == "__main__":
panda = Panda()
print(panda.name)
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)