Python 面向对象中的继承关系

1. 经典类

   py2: 不继承任何类

2. 新式类
  py2: 手动继承object
  py3: 所有的类都是object的子类

  经典类的MRO: 树的深度优先遍历
  从左到右, 一条路跑到黑

  新式类的MRO: C3算法
    1. 拆分
    L(H) = H + L(H的父类)... + 父类父类父类

    2. 合并(merge)
  用每一项的头和其他项的身体比较
  如果第一项的头没有在其他身体中出现. 此时第一项的头被算出
  如果第一项的头出现在其他身体中. 继续下一项的头..... 下一项的头计算完成需要重新返回第一项继续执行判断

 

posted @ 2019-01-02 16:38  冰哥泡  阅读(354)  评论(0编辑  收藏  举报