JavaScript 中的类组合是什么?
组合通过组合小函数来帮助创建大而复杂的函数。例如,您可以在小砖块的帮助下建造一堵墙。砖的例子可以被视为一种函数,而构图就是我们如何将这些砖组合成一堵墙。类组合为我们提供了一种简单的组合方式,包括使用面向对象编程的组合的好处。
您可以组合类和对象。类可以被视为对象的“蓝图”,对象是具有相关功能和数据(方法和状态)的实体。它可用于根据需要创建许多对象。
通过使用mixin概念,属性将被添加到对象而不使用继承。不同对象的属性混合到一个对象中,因此该对象具有该对象的所有属性和方法。换句话说, mixin是一种提供实现某种行为的方法的方法。它用于添加其他类的行为。
注意: mixin技术定义了行为的某些部分,它由一个工厂函数组成,该函数将超类作为其参数并返回相应的子类。
示例:创建一个 mixin 类并使用它开发一个“人类”类示例。
// 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");
输出: