其他分享
首页 > 其他分享> > 继承的进阶---多继承新式类广度优先,多继承经典类深度优先

继承的进阶---多继承新式类广度优先,多继承经典类深度优先

作者:互联网

继承的进阶

继承:单继承,多继承(有python有多继承,java没有)
类:经典类,新式类
新式类:凡是继承object类都是新式类
python3X 中所有的类都是新式类,因为python3x中的类都默认继承object

经典类:不继承object类都是新式类,只存在python2(既有新式类,又有经典类)里面,所有的类都是默认经典类。可以加object,变成新式类。

单继承:新式类,经典类查询顺序一样

自己有,先执行自己类里面的

class A:
    def func(self):
        print("IN A")


class B(A):
    def func(self):
        print("IN B")


class C(B):
    def func(self):
        print("IN C")


c1 = C()
c1.func()
# 结果
# IN C

自己没有了,执行父类的

class A:
    def func(self):
        print("IN A")


class B(A):
    def func(self):
        print("IN B")


class C(B):
    pass


c1 = C()
c1.func()
# 结果
# IN B
</

标签:优先,进阶,继承,self,新式,func,print,class
来源: https://blog.51cto.com/u_14303514/2930419