zoukankan      html  css  js  c++  java
  • 面向对象-继承实现的原理

    继承的实现原理:
    1、子类会先于父类
    2、多个父类,会根据列表中的顺序被检查
    3、如果对于下一个类存在两个合法的选择,选择第一个父类。

    继承顺序(mro查找顺序)
    1、新式类:广度优先

    2、经典类:深度优先(一条道走到底)
    在Python2中 经典类:没有继承object,以及它的子类都称之为经典类
    在Python2中 新式类:继承object,以及它的子类都称之为新式类
    在Python3中 新式类:都是新式类(广度)
    #在Python2中 经典类:没有继承object,以及它的子类都称之为经典类
    class Foo:
        pass
    class Bar(Foo):
        pass
    
    #在Python2中 新式类:继承object,以及它的子类都称之为新式类
    class Foo:
        pass
    class Bar(Foo):
        pass
    
    #在Python3中 新式类:都是新式类(广度)
    class Foo:
        pass
    print(Foo.__bases__)
    
    class A(object):
        def test(self):
            print("from A")
    
    class B(A):
        # def test(self):
        #     print('from B')
        pass
    class C(A):
        # def test(self):
        #     print('from C')
        pass
    class D(B):
        # def test(self):
        #     print('from D')
        pass
    class E(C):
        # def test(self):
        #     print('from C')
        pass
    class F(D,E):
        # def test(self):
        #     print('from F')
        pass
    
    print(F.mro())  # 新式类的查找顺序
    f=F()
    f.test()


  • 相关阅读:
    微信调用相机上传照片+拍照上传
    遮罩层+软键盘
    样式问题
    连接微信分享图片
    一些链接
    图片等比例缩放
    About Memory Analysis
    Monitor Network and File I/O
    Measure Graphics Performance
    Measure CPU Use
  • 原文地址:https://www.cnblogs.com/hexiaorui123/p/10201398.html
Copyright © 2011-2022 走看看