对象继承
单继承:即继承父类的属性方法
super()方法
场景:既想用父类的__init__属性,又想用自己的__init__属性,如果不在子类中加这个函数,直接在子类写__init__,那么会重写父类__init__,相当于覆盖。
以下中在子类的__init__方法中使用 super().__init__() , 就相当于把父类的 __init__构造方法拿过来用, 并且可以对父类的__init__方法进行补充(比如添加成员属性/方法) 。同样super还可去继承其他的方法,不只是继承__init__属性。
class D(): def __init__(self,name): self.name = name class C(D): def __init__(self,age,name): self.age = age super(C,self).__init__(name) l = C(18,'lwj') print(l.name)
多继承
python支持多继承
mro:我们可以通过 子类名.mro()方法查看继承顺序
class School(): def __init__(self,name): self.name = name class Class(): def __init__(self,name): self.name = name class Student(School,Class): def __init__(self,name): self.name = name stu = Student('张三') print(Student.mro())
标签:__,name,python,继承,面向对象,init,父类,self From: https://www.cnblogs.com/powfu/p/16887576.html