¿Está orientado a objetos de JavaScript??

¿Está orientado a objetos de JavaScript??

Programación orientada a objetos (OOP), es un enfoque de programación que utiliza cada desarrollador en algún momento de su vida para organizar el diseño de software en torno a objetos o datos en lugar de lógica o funciones donde un objeto es una entidad que tiene algunas propiedades y algún tipo. Los beneficios del uso de la técnica OOP incluyen modularidad, reutilización, seguridad, productividad, flexibilidad y es fácilmente escalable y actualizable.

Características de OOP

Las tres características principales de OOP son las siguientes:

i) Encapsulación

La encapsulación es un concepto de OOP que agrupa datos y métodos que funcionan con esos datos dentro de una unidad, por ejemplo, una clase en Java y una instancia de una clase se denomina objeto. La encapsulación también se refiere a restringir el acceso de datos a algunas clases u objetos y, por lo tanto, todos los usuarios no podrán acceder a variables o valores de estado de algún objeto.

ii) herencia

En herencia, una clase (niño) hereda todos los métodos y atributos de otra clase (padre).

iii) polimorfismo

El polimorfismo significa una propiedad que tiene muchas formas y es uno de los conceptos centrales en OOP. El polimorfismo nos permite crear procedimientos sobre objetos cuyo tipo exacto se conoce hasta el tiempo de ejecución.

JavaScript orientado a objetos?

JavaScript es un lenguaje de programación basado en prototipos y se utiliza principalmente para crear aplicaciones web y páginas web. El lenguaje de programación prototipo es un estilo de OOP en el que los objetos que ya se crean pueden clonarse y reutilizarse para que el programa o la aplicación se pueda construir. Las funciones se utilizan como constructores para clases en lenguajes de programación basados ​​en prototipos.

JavaScript es excelente en la programación de aplicaciones OOP y está muy basada en objetos, sin embargo, no es un lenguaje OOP basado en clases, sino un lenguaje de programación basado en prototipos. Sin embargo, podemos usar JavaScript como un lenguaje de programación basado en clases. JavaScript le permite hacer o crear nuevos objetos para el uso de su aplicación. Sin embargo, debe tenerse en cuenta que, si bien el lenguaje OOP fomenta y se centra en las relaciones y la taxonomía, los idiomas basados ​​en prototipos se centran y fomentan el comportamiento primero y luego la clasificación más tarde.

En 2015, JavaScript introdujo una palabra clave de clase que era hacer un lenguaje OOP de JavaScript, pero era solo azúcar sintética sobre la técnica de prototipo existente. El cuerpo exterior parece OOP, sin embargo, en el fondo la prototipos continúa.

A continuación se muestra un ejemplo de OOP en JavaScript, donde utilizamos la clase para definir objetos de los estudiantes y tiene la propiedad de los estudios de nombre y grado y método () que devuelve el nombre y el grado del alumno.

Estudiante de clase
constructor (nombre, grado)
este.nombre = nombre;
este.grado = grado;

estudios ()
devolver '$ esto.nombre estudios en $ grado ';


Deje mystudent1 = nuevo estudiante ("jhon", 6);
consola.log (mystudent1);

Si expandimos el prototipo visto en la captura de pantalla anterior, veremos que el Proto hace referencia al prototipo del estudiante que de hecho hace referencia al prototipo de objeto.

Ejemplo de encapsulación de JavaScript

Veamos un ejemplo donde se usa la herencia y la clase de persona u objeto se define cuando una persona tiene un nombre y también se define un método donde se devuelve el nombre. Se define otro estudiante de clase que extiende a la persona, por lo tanto, heredando todas las propiedades y métodos de la persona de la clase I-E de los padres y en la clase de estudiante de la Clase Infantil I-E, utilizamos la palabra clave súper que invoca el constructor de la clase de los padres o la persona. También podrá ver que el objeto de la persona y el objeto del alumno tienen un método con el mismo nombre toString (). Esto se llama anverning y OOP nos permite tener un método en una clase infantil con el mismo nombre y firma que el de la clase principal.

// Ejemplo de herencia
persona de clase
constructor (nombre)
este.nombre = nombre;

// String Devuelve de este método
Encadenar()
return ('name: $ this.nombre');


El estudiante de clase extiende a la persona
constructor (nombre, regido)
// Palabra clave Super utilizada para llamar al constructor de padres
super (nombre);
este.regid = regid;

Encadenar()
return ('$ super.toString (), ID de registro: $ this.regid ');


Deje mystudent1 = nuevo estudiante ('jhon', 1032);
alerta (mystudent1.Encadenar());

Conclusión

Oop es un modelo de programación que organiza nuestro diseño de software en torno a objetos en lugar de lógica o funciones. Un objeto tiene alguna propiedad y valor. Al usar OOP logramos seguridad, productividad, reutilización y mucho más.

Javascript es un lenguaje de programación basado en prototipos, sin embargo, en 2015 se introdujo la palabra clave de clase que hace que JavaScript sea como un lenguaje de programación OOP, pero como vimos en la descripción anterior que en el fondo continúa la prototipos. En pocas palabras, JavaScript es un lenguaje de programación orientado a objetos basado en prototipos.