多态继承顺序

来源:3-4 Python中的多态

为什么不给加鸡腿

2021-02-13 14:30

class A(object):
    def __init__(self, a):
        print ('init A...')
        self.a = a
class B(A):
    def __init__(self, a):
        super(B, self).__init__(a)
        print ('init B...')
class C(A):
    def __init__(self, a):
        super(C, self).__init__(a)
        print ('init C...')
class D(B, C):
    def __init__(self, a):
        super(D, self).__init__(a)
        print ('init D...')
    
d = D('d')

在这个例子里面输出是按A,C ,B,D的顺序输出的,所以子类在继承的时候顺序具体是怎样的呢?根据是什么?


写回答 关注

1回答

  • 尤某人
    2021-02-15 15:06:14

    你试试把class D(B,C)改成class D(C,B),输出顺序会有所改变,试试总结规律

Python3 进阶教程(新版)

学习函数式、模块和面向对象编程,掌握Python高级程序设计

41910 学习 · 236 问题

查看课程

相似问题