美文网首页
多重继承和MRO(方法解析顺序)/UML

多重继承和MRO(方法解析顺序)/UML

作者: 她即我命 | 来源:发表于2018-12-01 15:41 被阅读9次
"""
UML - Unified Modeling Language - 统一建模语言
标准化的图形符号 - 便于沟通交流 - 一图胜千言
最重要的三种图:用例图 / 类图 / 时序图 
多重继承和MRO(方法解析顺序)- Method Resolution Order
Python 2的MRO类似于深度优先搜索
Python 3的MRO类似于广度优先搜索(C3算法)
"""


class A(object):

    def foo(self):
        print('foo() in A')


class B(A):
    pass
    # def foo(self):
    #     print('foo() in B')


class C(A):

    def foo(self):
        print('foo() in C')


class D(B, C):
    pass


def main():
    print(D.mro())
    # print(D.__mro__)
    d = D()
    d.foo()


if __name__ == '__main__':
    main()


相关文章

网友评论

      本文标题:多重继承和MRO(方法解析顺序)/UML

      本文链接:https://www.haomeiwen.com/subject/pthrcqtx.html