Discuss / Python / 对多重继承的顺序理解

对多重继承的顺序理解

Topic source

class D(object): def f(self): return 'd' class E(object): pass class F(object): def f(self): return 'f' class C(D, F): pass class B(E, D): pass class A(B, C): pass a = A() print (a.f())

直观理解: A继承B,C ,依左继承,从C往上倒,(如果倒完C,D/F ,所有的类的方法都没有f()方法,那么从C往上倒。)如果B这条线上有f()方法,那么输出f()方法。 同时会遵循多态定义,子类和父类有相同的方法时,子类覆盖父类的方法,输出子类方法。


  • 1

Reply