– Encapsulación
– Abstracción
– Herencia
– Polimorfismo
Encapsulación
Se refiere a la agrupación de datos y métodos en una unidad. Esto permite la reutilización de las funciones de forma más segura. Por ejemplo, mira el código de arriba. Las propiedades sólo son visibles para el ámbito de la clase y las funciones phoneColor, phoneWeight, phoneBrand, son visibles para quien llama a la función.
Abstracción
La abstracción nos permite crear un modelo a partir de algo más complejo. Piensa en tu teléfono por ejemplo, cuando entras en Instagram y le das like o comentas una foto. Hay mucha complejidad y lógica en el fondo que no conoces. Otro ejemplo sería una máquina de café. Digamos que utilizas una cafetera para hacer café. Hay un montón de cosas que suceden dentro de la máquina que usted puede no saber que está pasando. A ti, como usuario, probablemente no te importe lo que ocurre en la máquina. Sólo quieres el café. Esencialmente, oculta información/detalle innecesario y sólo nos da lo que necesitamos.
Herencia
La herencia se refiere a cómo las clases pueden heredar métodos o propiedades de otras clases en una estructura jerárquica. En OOP, hay algo llamado parent class
y sub class
o child class
. El sub class
o child class
inherits
de la clase padre. Otra forma en que podemos describir esto es diciendo que la subclase extends
a la clase parent
.
Polimorfismo
El polimorfismo significa muchas formas. En términos de programación, se refiere específicamente a cómo las subclases heredan todas las propiedades de una clase padre pero también pueden tener sus propias propiedades específicas. Por ejemplo, pensemos en un profesor y en los alumnos de una clase. Tienen muchas características en común, como el nombre, la edad, etc. Sin embargo, los estudiantes pueden tener sus propias características que el profesor no tiene, como la calificación.
Conclusión
En resumen, la POO es un paradigma de programación centrado en los objetos. La POO no es específica de JavaScript pero este es un ejemplo de su diseño en JavaScript. La mejor analogía o forma de pensar en la POO, es que es esencialmente un plano para crear objetos. Puede ayudar a hacer nuestro código más DRY (Don’t Repeat Yourself) a través de la reutilización en el código. No te preocupes si no entendiste este concepto la primera vez. Yo ciertamente no lo hice. He puesto un enlace abajo para más información.