Mixin
维基百科,自由的 encyclopedia
Mixin是面向对象程式设计语言中的类,提供了方法的实现。其他类可以访问mixin类的方法而不必成为其子类。[1]Mixin有时被称作"included"而不是"inherited"。mixin为使用它的class提供额外的功能,但自身却不单独使用(不能单独生成实例对象,属于抽象类)。因为有以上限制,Mixin类通常作为功能模块使用,在需要该功能时“混入”,而且不会使类的关系变得复杂。用户与Mixin不是“is-a”的关系,而是“-able”关系
此条目目前正依照其他维基百科上的内容进行翻译。 (2018年3月14日) |
Mixin有利于代码复用[2]又避免了多继承的复杂。[3][4]使用Mixin享有单一继承的单纯性和多重继承的共有性。接口与mixin相同的地方是都可以多继承,不同的地方在于mixin是带实现的。Mixin也可以看作是带实现的interface(英语:Interface (object-oriented programming))。这种设计模式实现了依赖反转原则。[5]