class Base(object):
def __init__(self):
print ("Base")
class childA(Base):
def __init__(self):
print ('Child A')
Base.__init__(self)
class childB(Base,childA):
def __init__(self):
print ('Child B')
super(childB, self).__init__()
b=childB()
继承将作为子项B,基数,子项A,基数,应用MRO后,它应变为子项B,子项A,基数。但它抛出的 MRO 错误。为什么?
childB
尝试从Base
继承两次,一次到childA
一次直接继承。通过删除childB
上的多重继承来修复。
class Base(object):
def __init__(self):
print ("Base")
class childA(Base):
def __init__(self):
print ('Child A')
Base.__init__(self)
class childB(childA):
def __init__(self):
print ('Child B')
super(childB, self).__init__()
b=childB()