Abstracción
- Es uno de los 4 pilares de la POO y consiste en abstraer los datos en un objeto para extraer su “molde” (clase o prototipo).
- La abstracción se enfoca en los aspectos relevantes de un objeto y omite los detalles innecesarios, lo que permite trabajar con objetos más fáciles de entender y manipular.
- La abstracción en POO permite representar objetos complejos del mundo real de manera simplificada y trabajar con ellos de manera más fácil y comprensible.
Encapsulamiento
Es encapsular, proteger, guardar o limitar el acceso de ciertos atributos y propiedades en los objetos.
El encapsulamiento permite definir una barrera protectora alrededor de los datos y métodos de una clase, de manera que solo se pueda acceder a ellos a través de métodos específicos definidos en la propia clase.
Cuando hablamos de encapsulamiento hablamos de:
- Esconder métodos y atributos
Tener métodos y atributos privados con los que solo podamos manipular desde dentro de otros métodos en nuestra clase.
- No permitir la alteración de métodos y atributos
Encapsulamiento en JS
- En JavaScript realmente no podemos esconder métodos y atributos de los prototipos
Formas de encapsular en JavaScript:
- Getters y setters
- Namespaces
- Object.defineProperties
- Módulo de ES6
Getters y Setters
En JavaScript podemos incluir en nuestras clases métodos getters y setters para tener un mejor control y y proteger los atributos de la clase.
Qué son los getters y setters?
Una función que obtiene un valor de una propiedad se llama getter y una que establece el valor de una propiedad se llama setter.