我目前正在使用这种模式来创建一个C
继承自A
and的类B
。我无法调用super().__init__
from ,C
因为我必须在A
and中执行相同的操作B
,并且意外参数会导致顶层出现问题。我觉得这不是很优雅。在 Python 中进行多重继承的正确方法是什么?我想查询mro
超类是否需要参数是不寻常的?
class A:
def __init__(self, something):
self.a = X(something)
def method_a(self):
self.a.go()
def method_ab(self):
self.a.go2()
class B:
def __init__(self, something):
self.b = X(something)
def method_b(self):
self.b.go()
def method_ab(self):
self.b.go2()
class C(A, B):
def __init__(self, something):
self.a_ = A(something)
self.b_ = B(something)
@property
def a(self):
return self.a_.a
@property
def b(self):
return self.b_.b
def method_ab(self):
for x in [self.a, self.b]:
x.method_ab()