python中的多重继承实例讲解
python和C++一样,支持多继承。概念虽然容易,但是困难的工作是如果子类调用一个自身没有定义的属性,它是按照何种顺序去到父类寻找呢,尤其是众多父类中有多个都包含该同名属性。
对经典类和新式类来说,属性的查找顺序是不同的。现在我们分别看一下经典类和新式类两种不同的表现:
经典类:
#!/usr/bin/python #-*-coding:utf-8-*-
classP1(): deffoo(self): print'p1-foo'
classP2(): deffoo(self): print'p2-foo' defbar(self): print'p2-bar'
classC1(P1,P2): pass
classC2(P1,P2): defbar(self): print'C2-bar'
classD(C1,C2): pass
if__name__=='__main__': d=D() d.foo() d.bar()