JavaScript 类组合是什么
组合通过组合小的函数来帮助创建大型和复杂的函数。例如,您可以使用小砖块来建造墙壁。砖块的示例可以视为一个函数,而组合则是关于如何将这些砖块组合成墙壁的方式。类组合提供了一种简单的组合方式,包括面向对象编程中组合的好处。
您可以组合 类 和 对象 。类可以被认为是对象的“蓝图”,对象是具有相关函数和数据(方法和状态)的实体。根据需要,可以使用它来创建许多对象。
通过使用 mixin 概念,可以在不使用继承的情况下向对象添加属性。不同对象的属性被混合到单个对象中,因此该对象具有所有对象的属性和方法。换句话说,混合是一种提供实现特定行为的方法的方式。它用于添加其他类的行为。
注意: mixin 技术定义了一部分行为,其中包括一个将 超类 作为其参数的工厂函数,并返回相应的子类。
示例: 创建一个混合类,并使用它开发一个“Human”类的示例。
// Create a mixin class
const MixFood = superclass => class extends superclass {
eating(food) {
console.log(`Eating ${food}`);
}
excrete() {
console.log("Going to excrete");
}
};
// Develop the "Child" example by
// enhancing the "Human" class
class Human {
constructor(name) {
this.name = name
}
}
class Child extends MixFood(Human) {
constructor(...args) {
super(...args)
}
cry() {
console.log("Woff woff!")
}
lunch(food) {
this.eating(food);
this.excrete();
}
}
const john = new Child("jack");
john.lunch("biscuits");
输出:
Eating biscuits
Going to excrete