【发布时间】:2013-10-28 21:14:14
【问题描述】:
假设我有一个基类 (MyBase),它有一个 __init__ 方法
我也有 2 个 mixin。这些 mixin 中的每一个都有一个属性和几个方法,但是这两个 mixin 中没有一个方法或属性是通用的。
MyBaseClass、mixin1 和 mixin2 都继承自对象
我想从 mixin(mixin1 和 mixin2)和 MyBase 派生一个类(MyRealClass)。
根据我在 MRO 上看到的,MyRealClass 的正确定义应该是
class MyRealClass(mixin1, mixin2, MyBase):
MyRealClass 有一个 do_init 方法(我想控制什么时候初始化类的某些部分,但 MyBase 有一个__init__ 方法。
我的问题是,在 mixins 中,我应该有一个 __init__ 方法吗?
你能解释一下为什么他们应该这样做吗?我不需要在 init 中为我的班级的任何一个 mixin 做任何工作。
谢谢
【问题讨论】:
标签: python python-2.7 multiple-inheritance mixins