面向对象-继承原理

C3线性算法实现,合并父类的MRO列表

  • 子类优先于父类
  • 多个父类会根据他们在列表中的顺序被检擦
  • 如果对下一个类存在两个合法选择,则选择第一个父类

py2中:

新式类:继承了object类,以及他的子类也称为新式类

经典类:没有继承object类,以及他的子类也称为经典类

py3中:统称为新式类,默认会继承object类

class Foo:
    pass
print(Foo.__bases__)

经典类:MRO查找深度优先,查找循序"一路走到黑",一直查找到object

新式类:MRO查找广度优先,object最后查找。

 查看多继承属性查找顺序,只有新式类

class Foo:
    pass
print(Foo.mro())

 

posted @ 2018-04-17 21:15  丫丫625202  阅读(131)  评论(0编辑  收藏  举报