Tipos de herencia en JavaScript

Tipos de herencia en JavaScript
En Javascript, Herencia es un mecanismo que permite que un objeto herede todos los métodos y propiedades de su objeto principal o base. También se considera un componente crucial de OOP (programación orientada a objetos).

La idea detrás de la implementación de la herencia en JavaScript es agregar nuevos objetos derivados de objetos existentes. Cuando el objeto recién creado se convierte en un niño o objeto derivado de una clase principal, puede heredar todos sus métodos y propiedades.

Este artículo discutirá tipos de Herencia en Javascript. Entonces, comencemos!

Tipos de herencia en JavaScript

JavaScript admite los siguientes tipos de herencia:

  • Herencia prototípica
  • Herencia pseudoclásica
  • Herencia funcional

Discutiremos cada uno de los tipos de herencia mencionados en las siguientes secciones.

Herencia prototípica en JavaScript

"Prototípico Herencia"Le permite acceder a propiedades y métodos de un objeto principal. En este tipo de herencia, se permite que un objeto recién creado herede las propiedades y el método de un objeto existente. Típicamente, "Objeto.getPrototypeOf ()" y "Objeto.setPrototypeOf ()"Se puede usar para obtener y establecer el prototipo de un objeto; Sin embargo, ES6 estandariza el "__proto__"Propiedad de accesorios que se puede utilizar para el propósito similar.

Sintaxis de herencia prototípica en JavaScript

Gilantio.__proto__ = ParentObject

Aquí "Gilantio"Representa el objeto recién creado que hereda las propiedades y métodos de"Patrimonio".

Ejemplo: cómo implementar la herencia prototípica en JavaScript

En primer lugar, crearemos dos objetos llamados "Bicicleta" y "Veneno"Y agregue un"color"Propiedad para el"Bicicleta"Objeto y un"nombre"Propiedad para el"Veneno" objeto:

Deja que la bicicleta =
color azul",
;
Dejar venom =
Nombre: "Venom",
;

Mediante el uso "__proto__"Propiedad del"Veneno"Objeto, heredaremos las propiedades del"Bicicleta" objeto:

Veneno.__proto__ = bicicleta;

Por último, mostraremos el "propio" (Veneno.nombre y "heredado" (Veneno.color) valores de propiedad de "Veneno" objeto:

consola.log ("Este es un" + veneno.color + "" + veneno.nombre);

Herencia pseudoclásica en JavaScript

La idea de implementar el "Pseudoclásico Herencia" es crear un "heredado"Función que ayuda a asociar la clase infantil a la clase principal.

Para este propósito, la herencia pseudoclásica utiliza:

  • A "constructor()" función
  • "nuevo"Operador para crear instancias
  • A "prototipoPropiedad que establece la cadena de herencia y se asigna a la función del constructor para que todas las instancias hereden la propiedad especificada.

Ahora, consulte el ejemplo dado a continuación para comprender claramente la herencia pseudoclásica.

Ejemplo: cómo implementar la herencia pseudoclásica en JavaScript

Definiremos una función de constructor llamada "Bicicleta()":

function bike ()
este.nombre = 'bicicleta';

A continuación, crearemos un "info ()"Función que será heredada por los objetos infantiles de"Bicicleta":

Bicicleta.prototipo.info = function ()
consola.log ('esto es un' + esto.nombre );
;

En nuestro programa, declararemos otro objeto llamado "Veneno,"Y utiliza el"Bicicleta.llamar()"Método para invocar el constructor de bicicletas ()::

función venom ()
Bicicleta.llama esto);
este.nombre = 'Venom';

Entonces, usaremos el "prototipo"Propiedad para implementar la herencia pseudoclásica entre"Veneno"Objeto y"Bicicleta" objeto:

Veneno.prototipo = objeto.crear (bicicleta.prototipo);
Veneno.prototipo.constructor = bicicleta;

En el último paso, el "nuevo"El operador se utiliza para crear las dos instancias",veneno" y "bicicleta":

var venom = new Venom ();
VAR Bike = nueva bicicleta ();

Después de hacerlo, el "info () " la función se invoca para ambas instancias:

veneno.info ();
bicicleta.info ();

Como puede ver en la salida dada a continuación, se implementa la herencia pseudoclásica y la instancia "veneno"Heredó y ejecutó el"info ()"Función con éxito:

Herencia funcional en JavaScript

El mecanismo de heredar propiedades aplicando un función de aumento (la función que tiene funcionalidad genérica) a una instancia de objeto se conoce como "Herencia funcional". La función de aumento definida emplea una extensión de objeto dinámico para agregar propiedades y métodos adicionales a una instancia de objeto. También puedes usar su "alcance de cierre"Para mantener algunos datos privados.

Ejemplo: cómo implementar la herencia funcional en JavaScript

En este ejemplo, crearemos un "Bicicleta"Objeto que tiene un objeto interno llamado"X":

Function Bike (datos)
var x = ;
X.nombre = datos.nombre;
regresar x;

Entonces, crearemos un objeto infantil llamado "Veneno"Que establece la herencia con el"Bicicleta" clase. Este objeto infantil comprenderá una función de aumento "información"Que puede tener acceso al"nombre"Propiedad del"X" objeto:

function venom (datos)
var x = bicicleta (datos);
X.info = function ()
devolver "Esto es un" + x.nombre + "bicicleta";
;
regresar x;

Para implementar la herencia funcional, crearemos "veneno"Como instancia de niño y pasar el valor del"nombre"Propiedad como"datos" argumento:

var venom = venom (nombre: "Venom");

Lo dado "consola.registro()"El método obtendrá el valor del"X.nombre"Propiedad del padre"Bicicleta"Objeto e imprímalo en la consola:

consola.registro (veneno.info ());

Producción

Eso se trataba de los tipos de herencia en JavaScript. Puede explorarlos más de acuerdo con sus preferencias.

Conclusión

Prototípico Herencia, herencia pseudoclásica y Funcional La herencia es diferente tipos de Herencia en JavaScript. Se implementa un tipo prototípico de herencia utilizando el "__proto__"Propiedad, mientras que, en herencia funcional, una aumento Se define la función que accede a las propiedades de la clase principal. Además, el Pseudoclásico La herencia utiliza un constructor() función, "nuevo"Operador, y prototipo propiedad para incrustar la herencia entre dos objetos. Este artículo discutió diferentes tipos de herencia en JavaScript.