¿Cuáles son las composiciones de clase en JavaScript?

La composición ayuda a crear funciones grandes y complejas al combinar funciones pequeñas. Por ejemplo, puedes construir una pared con la ayuda de pequeños ladrillos. El ejemplo del ladrillo puede tratarse como una función, y la composición tiene que ver con cómo combinamos esos ladrillos para hacer una pared. La composición de Clases nos proporciona una forma fácil de composición, incluyendo los beneficios de la composición con Programación Orientada a Objetos.

Puede componer clases y objetos . Una clase puede considerarse como un «modelo» para un objeto, que es una entidad que tiene funciones y datos relevantes (métodos y estado). Se puede utilizar para crear muchos objetos dependiendo de la necesidad.

Las propiedades se agregarán a los objetos sin utilizar la herencia mediante el uso del concepto mixin . Las propiedades de diferentes objetos se mezclan en un solo objeto, por lo que el objeto tiene todas las propiedades y métodos del objeto. En otras palabras, un mixin es una forma que proporciona métodos que implementan un determinado comportamiento. Se utiliza para añadir el comportamiento de otras clases.

Nota: La técnica mixin define una parte del comportamiento, que consiste en una función de fábrica que toma una superclase como argumento y devuelve la subclase respectiva.

Ejemplo: Cree una clase mixin y al usarla desarrolle un ejemplo de clase «Humana».

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

Producción:

Publicación traducida automáticamente

Artículo escrito por dikshamulchandani1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *