关于Python类的广度和深度优先问题?小白求教!
class A(object): def __init__(self): self.a = 1 def x(self): print "A.x" def y(self): print "A.y" def z(self): print "A.z"class B(A): def __init__(self): A.__init__(self) self.a = 2 self.b = 3 def y(self): print "B.y" def z(self): print "B.z"class C(object): def __init__(self): self.a = 4 self.c = 5 def y(self): print "C.y" def z(self): print "C.z"class D(C,B): def __init__(self): C.__init__(self) B.__init__(self) self.d = 6 def z(self): print "D.z"obj = D()print obj.aobj.y()这个代码class D(C,B)中的B和C调换位置obj.a
print出来永远是2,而obj.y()会随着位置调换改变输出值
感觉这既不符合深度优先也不符合广度优先?这是什么鬼?? |
免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。
版权声明:作者保留权利,不代表天盟立场。
|
|
|
|