Abstracción en JavaScript | Explicado

Abstracción en JavaScript | Explicado
En JavaScript, la mayoría de los elementos se basan en "objetos,"Y utiliza"Programación orientada a objetos"(Oop) a su manera.

El concepto de Abstracción en JavaScript es ocultar los detalles de implementación y resaltar las características esenciales de un objeto a los usuarios. Así es como la abstracción de incrustación en un programa de JavaScript puede mejorar la legibilidad del código y evitar la duplicación. Al proporcionar solo detalles importantes a los usuarios, también mejora la seguridad de una aplicación.

No sé cómo implementar abstracción? No hay problema! Este artículo explicará Abstracción en Javascript con la ayuda de ejemplos adecuados. Entonces, comencemos!

Clases abstractas en JavaScript

Si una clase comprende uno o más métodos abstractos, se conoce como un "Clase abstracta"Y este tipo de clase tiene métodos abstractos y regulares de JavaScript. Recuerde, para implementar la abstracción en una clase, debe declarar en al menos un método abstracto.

Métodos abstractos en JavaScript

En una clase abstracta, un tipo de método que solo se declara y no tiene implementación o "Cuerpo de funciones" que se conoce como "Método abstracto". El método abstracto debe declararse en una clase abstracta, mientras que su definición se puede agregar en el subclases.

Ahora demostraremos el procedimiento para crear una clase abstracta.

Ejemplo: cómo crear clase abstracta en JavaScript

En primer lugar, crearemos una función de constructor llamada "Persona" teniendo un "nombre" propiedad. El creado "Persona"La función actuará como un"Clase abstracta":

función persona ()
este.nombre = "Alex";
si esto.constructor === persona)
arrojar un nuevo error ("Su mensaje de error ...");

;

En el siguiente paso, definiremos un "info ()"Método para el"Persona"Clase abstracta que devuelve el valor del"nombre" propiedad:

Persona.prototipo.info = function ()
devolver esto.nombre;

Por último, crearemos un "persona"Instancia de la clase abstracta:

Var Person = New Person ();

La ejecución del código proporcionado arrojará un error, ya que no podemos crear objetos o instancias de una clase abstracta:

Ahora, ampliaremos el ejemplo anterior implementando el "Herencia". Para este propósito, crearemos otra función de constructor que herede los métodos y propiedades del "Persona" Clase abstracta.

Ejemplo: cómo extender la clase abstracta en JavaScript

En el mismo ejemplo, definiremos una función de construcción (subclase) llamada "Maestro"Que hereda las propiedades y métodos de los creados"Persona"Clase utilizando el"Encadenamiento prototipo":

función persona ()
este.nombre = "Alex";
si esto.constructor === persona)
arrojar un nuevo error ("Su mensaje de error ...");

;
Persona.prototipo.info = function ()
devolver "El nombre de la persona es:" + esto.nombre;

Function Teacher (nombre)
este.nombre = nombre;

Maestro.prototipo = objeto.crear (persona.prototipo);
var maestro1 = nuevo maestro ("Stepheny");
consola.Log (profesor1.info ());

En este caso, la implementación del "Persona"La clase abstracta está oculta y la"Maestro"La subclase solo puede acceder al"info () " método para devolver el valor del "nombre" propiedad:

Hemos tratado de implementar la abstracción en ejemplos anteriores; Sin embargo, todas las propiedades de una clase abstracta no están completamente satisfechas; ya que aún no hemos definido ningún método abstracto.

El ES6 La versión de JavaScript ofrece muchas características mejoradas, como crear "Clase" utilizando el "clase"Palabras clave e implementación de métodos. También le permite definir métodos abstractos dentro de una clase abstracta y extenderlos en el niño o subclases con la ayuda de "Herencia".

En el siguiente ejemplo, implementaremos una clase de resumen de JavaScript que tenga las propiedades especificadas.

Ejemplo: cómo implementar la abstracción en JavaScript

Utilizando el "clase"Palabra clave, ahora definiremos"Persona"Como clase abstracta, tener un"constructor()", y un "info ()"Método abstracto:

persona de clase
constructor ()
si esto.constructor == persona)
arrojar un nuevo error ("Su mensaje de error ...");


info ()
tirar un nuevo error ("El método abstracto agregado no tiene implementación");

A continuación, crearemos una subclase "Maestro,"Que hereda las propiedades y el método del"Persona"Clase usando"Herencia"Y defina la implementación del método de resumen de la clase principal"info ()" en el "Maestro" clase:

El maestro de clase extiende a la persona
info ()
consola.log ("Soy maestro");


var maestro1 = nuevo maestro ();
profesor1.info ();

Como puede ver, la implementación del "info ()El método se ejecuta con éxito:

Si la clase matriz resumen "info ()"El método se invoca en el"MaestroClase, lanzará un error. Para verificar este caso, agregue la siguiente línea de código en la definición de la clase infantil "info ()Método "y luego ejecute nuevamente el programa:

súper.info ();

La salida dada significa que ejecutar el método abstracto de una clase abstracta arrojará un error:

Hemos compilado toda la información esencial relacionada con la abstracción en JavaScript.

Conclusión

Abstracción en Javascript se puede implementar con la ayuda de Clases abstractas y Métodos abstractos. En JavaScript, una clase abstracta debe contener al menos uno o más métodos abstractos declarados, mientras que su definición se puede agregar en sus subclases. La abstracción en JavaScript oculta los detalles complicados y difíciles de competir del sistema subyacente. Este artículo explicó la abstracción en JavaScript junto con ejemplos adecuados.