Herencia de clases de JavaScript

En este tutorial, aprenderá sobre la herencia de clases de JavaScript con la ayuda de ejemplos.

Herencia de clase

La herencia le permite definir una clase que toma toda la funcionalidad de una clase principal y le permite agregar más.

Al usar la herencia de clases, una clase puede heredar todos los métodos y propiedades de otra clase.

La herencia es una característica útil que permite la reutilización del código.

Para usar la herencia de clases, usa la extendspalabra clave. Por ejemplo,

 // parent class class Person ( constructor(name) ( this.name = name; ) greet() ( console.log(`Hello $(this.name)`); ) ) // inheriting parent class class Student extends Person ( ) let student1 = new Student('Jack'); student1.greet();

Salida

 Hola Jack

En el ejemplo anterior, la Studentclase hereda todos los métodos y propiedades de la Personclase. Por lo tanto, la Studentclase ahora tendrá la namepropiedad y el greet()método.

Luego, accedimos al greet()método de Studentclase creando un student1objeto.

Palabra clave de JavaScript super ()

La superpalabra clave utilizada dentro de una clase secundaria denota su clase principal. Por ejemplo,

 // parent class class Person ( constructor(name) ( this.name = name; ) greet() ( console.log(`Hello $(this.name)`); ) ) // inheriting parent class class Student extends Person ( constructor(name) ( console.log("Creating student class"); // call the super class constructor and pass in the name parameter super(name); ) ) let student1 = new Student('Jack'); student1.greet();

Aquí, superdentro de la Studentclase se refiere a la Personclase. Por lo tanto, cuando Studentse llama al constructor de la Personclase , también llama al constructor de la clase que le asigna una propiedad de nombre.

Método o propiedad primordial

Si una clase secundaria tiene el mismo método o nombre de propiedad que la clase principal, utilizará el método y la propiedad de la clase secundaria. Este concepto se denomina anulación de método. Por ejemplo,

 // parent class class Person ( constructor(name) ( this.name = name; this.occupation = "unemployed"; ) greet() ( console.log(`Hello $(this.name).`); ) ) // inheriting parent class class Student extends Person ( constructor(name) ( // call the super class constructor and pass in the name parameter super(name); // Overriding an occupation property this.occupation = 'Student'; ) // overriding Person's method greet() ( console.log(`Hello student $(this.name).`); console.log('occupation: ' + this.occupation); ) ) let p = new Student('Jack'); p.greet();

Salida

Hola estudiante Jack. ocupación: estudiante

Aquí, la occupationpropiedad y el greet()método están presentes en la Personclase principal y en la Studentclase secundaria . Por lo tanto, la Studentclase anula la occupationpropiedad y el greet()método.

Usos de la herencia

  • Dado que una clase secundaria puede heredar todas las funcionalidades de la clase principal, esto permite la reutilización del código.
  • Una vez que se desarrolla una funcionalidad, simplemente puede heredarla. No hay necesidad de reinventar la rueda. Esto permite un código más limpio y más fácil de mantener.
  • Dado que también puede agregar sus propias funcionalidades en la clase secundaria, puede heredar solo las funcionalidades útiles y definir otras características necesarias.

Articulos interesantes...