【发布时间】:2011-09-11 19:10:30
【问题描述】:
我有一堂课:
class A(object):
def __init__(self, *args):
# impl
也是一个“mixin”,基本上是另一个带有一些数据和方法的类:
class Mixin(object):
def __init__(self):
self.data = []
def a_method(self):
# do something
现在我使用 mixin 创建 A 的子类:
class AWithMixin(A, Mixin):
pass
我的问题是我希望 A 和 Mixin 的构造函数都被调用。我考虑给 AWithMixin 一个它自己的构造函数,其中调用了 super,但是超类的构造函数有不同的参数列表。最佳分辨率是多少?
【问题讨论】:
-
是什么阻止您从
AWithMixin.__init__调用这两个基类的构造函数(及其适当的参数)? -
这已经得到了深入的回答。见stackoverflow.com/a/6100595/763269
标签: python multiple-inheritance mixins