整理自《Effective Python 编写高质量 Python 代码的 59 个有效方法》第 26 条,只在使用 Mix-in 组件制作工具类时进行多重继承
mix-in 定义
mix-in 是一种小型的类,它只定义了其他类可能需要提供的一套附加方法,而不定义自己的实例属性,此外,它也不要求使用者调用自己的 __init__ 构造器
要点
-
能用 mix-in 组件实现的效果,就不要用多重继承来做
-
将各功能实现为可插拔的 mix-in 组件,然后令相关的类继承自己需要的那些组件,即可定制该类实例所应具备的行为。
-
把简单的行为封装到 mix-in 组件里,然后就可以用多个 mix-in 组合出复杂的行为了。