JavaScript 中的混入
JavaScript 中的混入
介绍
在继承中,大多数编程语言不支持多级继承,这意味着您不能为特定类拥有多个父级。 Javascript 也不支持多级继承,因此在安排代码库时会有一些障碍。
例如,假设我们有一个 男人
类及其父类是 人
现在有一个定义的关系但是如果你有一个实用程序类 授权
既不相关 人
或者 男人
类,那么什么是更好的使用方法 授权
类 男人
班级?
有很多方法可以解决问题
- 依赖注入
- 创建单独的实用程序并在方法中传递值
- 创造
男人
实例来自授权
班级
我们将在本文中使用方法三,我们将使用 mixin 作为所有三个类之间的虚拟关系
什么是混音?
Mixin 是一个更高级别的函数或类声明,它具有可以抽象为任何子对象(类或对象)的内部方法和属性
创建一个 Mixin
有两种方法可以创建 mixin
- 对象声明
- 类声明
对象声明
我们可以创建一个具有方法和属性的对象,并使用它来更新任何现有类的原型以附加
Object-based mixin
我们创建了一个 mixin,它将管理授权并将其附加到其原型上的 person 类,并且可以从 person 实例中访问它
类声明
要创建一个类 mixin,我们需要为任何子级类创建一个父类,在我们的示例中,我们需要同时创建 Person 和 Man 类,并从虚拟 Person 类扩展 Man
class-based mixin
当您在图片中有继承并且可以将属性添加为类自己时,这种类型的声明很有帮助
两种mixin的区别
两种 mixin 之间的主要区别在于何时何地使用它们。当您可以使用一些常用方法并且希望将其附加到任何现有类中时,基于对象的混合是一个更好的选择
另一方面,当您从任何抽象类创建子类时,基于类的混入很好
结论
Mixin 通常适用于辅助方法而不是实际的实例方法,如果您的应用程序有实例方法,那么我建议不要创建 mixin,而是创建类。
你可以找到源代码 这里 .快乐编码!
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明