Python:将一个类添加到另一个类库中

问题描述 投票:0回答:1

我试图将一个类添加到另一个类库中:

class A(object):
    def __init__(self, name):
        self.name = name

class AMixin(object):
    def mixinExample(self):
        return ("in AMixin.mixinExample" + self.name)

def MixIn(TargetClass, MixInClass):
    if MixInClass not in TargetClass.__bases__:
        TargetClass.__bases__ += (MixInClass,)

if __name__ == "__main__":
    a_instance = A("Q7")
    MixIn(A,AMixin)
    print(a_instance.mixinExample())

我收到此错误:

TypeError: Cannot create a consistent method resolution
order (MRO) for bases object, AMixin

我收到此错误的原因是'object'固有的两个类(A和AMixin)?

python inheritance
1个回答
0
投票

您正在尝试将A的基数设置为(object, AMixin)。此顺序意味着object方法应覆盖AMixin方法。

但是,AMixin继承自object,这意味着AMixin方法应覆盖object方法。

不可能同时满足这两个要求,因此是错误。

© www.soinside.com 2019 - 2024. All rights reserved.