我们通常通过类的继承实现类的复用,但复杂的继承关系会影响程序可读性。Mixin不能单独使用,而是作为方法集合向类提供功能,既实现了代码复用,又降低了复杂度。

Mixin与多继承的区别在于后者容易导致代码复杂,Mixin与接口的区别在于后者不带实现。