python面向对象-继承

对象继承

单继承:即继承父类的属性方法

 

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())

 

 

复制代码

 

posted @   powfu  阅读(15)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示