📜  JavaScript 中的类组合是什么?

📅  最后修改于: 2022-05-13 01:56:28.198000             🧑  作者: Mango

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");

输出: