mixin 通常与多重继承一起使用。所以,从这个意义上说,“没有区别”。
细节是 mixin 很少作为独立对象有用。
例如,假设您有一个名为“ColorAndDimension”的 mixin,它添加了颜色属性以及宽度和高度。
现在,您可以将 ColorAndDimension 添加到 Shape 类、Sprite 类、Car 类等。它们都将具有相同的接口(例如 get/setColor、get/setHeight/Width 等)
因此,在一般情况下,mixin 是继承。但你可以认为这是类在整个领域中的角色问题,即 mixin 是“主要”类还是只是一个 mixin。
编辑——只是为了澄清。
是的,用当今的现代行话来说,mixin 可以被认为是具有关联实现的接口。它实际上只是使用一个简单的、旧的、日常的类的简单的、旧的、日常的多重继承。这恰好是MI的一个具体应用。大多数语言都不给 mixin 任何特殊的地位;它只是一个被设计为“混合”的类,而不是独立使用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)