Abstracción en JavaScript
Clase 57 de 99 • 30 días de JavaScript
La abstracción permite definir una interfaz clara y simplificada para interactuar con un objeto o clase, sin tener que conocer los detalles internos de cómo se implementa esa funcionalidad. En JavaScript, la abstracción se puede lograr utilizando clases y métodos.
Por ejemplo, imaginemos que estamos construyendo una aplicación de un e-commerce que tiene diferentes tipos de productos, como libros, ropa y electrónicos. Podríamos definir una clase Product como una abstracción de los diferentes tipos de productos, con propiedades como name, price y description.
class Product { constructor(name, price, description) { this.name = name; this.price = price; this.description = description; } show() { console.log(`Nombre: ${this.name}`); console.log(`Precio: ${this.price}`); console.log(`Descripción: ${this.description}`); } }
En este ejemplo, la clase Product define una interfaz clara y simplificada para interactuar con un objeto Product. Los usuarios de nuestra aplicación solo necesitan conocer las propiedades name, price y description para poder trabajar con los productos, y no necesitan conocer los detalles internos de cómo se implementa la clase Product.
Podríamos luego crear subclases de la clase Product para representar los diferentes tipos de productos, como Book, Clothes y Electronic. Por ejemplo, podríamos definir la clase Book de la siguiente manera:
// Libro hereda las propiedades y métodos de la clase Producto class Book extends Product { constructor(name, price, description, author, editorial) { // Recuerda que con Super le pasamos los atributos a la clase // de la cual se hereda super(name, price, description); // define nuevas propiedades como autor y editorial this.author = author; this.editorial = editorial; } show() { super.show(); // redefine el método mostrar() para mostrar esta información adicional. console.log(`Autor: ${this.author}`); console.log(`Editorial: ${this.editorial}`); } }
En este ejemplo, la clase Book hereda las propiedades y métodos de la clase Product, pero también define nuevas propiedades como author y editorial y redefine el método show() para mostrar esta información adicional.
Todo esto y más lo puedes aprender en el Curso Básico de Programación Orientada a Objetos con JavaScript