python 类的使用原则
Class 的继承分类 单继承链/无重叠的继承链/有重叠的继承链 class 的继承算法 深度优先算法 : 1. 把根节点压入栈中 2.每次从栈中弹出一个元素 ,搜索所有在它下一级的元素 ,将这些元素压入栈中 , 3 重复 1和 2 C3算法: 公式: L(object)=[object] L(子类(父类1,.父类2))=[子类]+ merge(L(父类1,.父类2),[父类1,父类2]) merge算法 1 第一个列表的第一个元素是后续列表的第一个元素,或者后续列表中没有再次出现,则将这个元素合并到最终的解析列表中,并从当前操作的所有列表中删除 2. 如果不符合,则跳过此元素,查找下一个列表的第一个元素,重复1的判断规则 3. 如果最终无法把所有元素归并到解析列表,则报错 C3算法例子: import inspect class D: pass # L(D(object))= [D] + merge(L(object),[object]) # = [D] +merge(L[object],[object]) # = [D,object] + merge(L[], []) # = [D, object] class B(D): pass #L(B(object))= [B]+ merge(L(D),[D]) # = [B]+ merge(