一、引言
这篇博客,是我在看了《Python GUI Programming with Tkinter》第 76 页的小节 Exploiting the power of multiple inheritance
之后,压抑不住自己的激动兴奋之情,认真整理书写分享出来的。所用到的也是这一节作者写出来的代码,希望能给广大网友跟我一样的恍然大悟的痛快的感觉。
言归正传,Python 无疑是支持多继承的。我们可以利用 Python 的这种特性,实现一种叫做 Mixin 的类:
Mixin classes contain only a specific set of functionalities that we want to be able to mix in with other classes to compose a new class.(引用于 《Python GUI Programming with Tkinter》P76)
作者的这句话是什么意思呢?我大概翻译一下:
Mixin 类只包含了一组特定的函数集合,而我们将会将其与其他类进行混合,从而生成一个适用于实际需要的新类
看文本介绍太过于苍白,我们来看一个例子是最好的。
二、看一个 Mixin 类的实例
这里,我直接先上代码,有兴趣的同学,可以暂停到这里,看看这段代码中的 subclass.display() 这行代码,究竟是怎么执行的:
class Displayer():
def display(self, message):
print(message)
class LoggerMixin():
def