Tutorial externo: Abstracción en Programación Orientada a Objetos
Este tutorial de Platzi explica el concepto de abstracción en POO, mostrando cómo se pueden modelar objetos enfocándose en los aspectos esenciales y ocultando detalles innecesarios, para lograr un diseño más sencillo y flexible.
¿Qué es la abstracción? La abstracción es un principio de la Programación Orientada a Objetos que consiste en ocultar los detalles internos de implementación y mostrar solo lo esencial para el uso de un objeto. Es decir, permite enfocarse en qué hace un objeto, sin preocuparse por cómo lo hace.
Este principio ayuda a reducir la complejidad del sistema, facilitando su comprensión y mantenimiento.
¿Cómo se aplica? En la práctica, la abstracción se logra mediante:
Clases abstractas: clases que no se pueden instanciar directamente y que definen métodos que deben ser implementados por las subclases. Interfaces (en lenguajes como Java): definen un conjunto de métodos que una clase debe implementar.
Ejemplo en Python (usando clases abstractas)
En este ejemplo, Figura es una clase abstracta que define el método area(), pero no lo implementa. La clase Cuadrado hereda de Figura y proporciona su propia implementación.
¿Por qué es útil? Permite trabajar con conceptos generales sin conocer los detalles internos. Mejora la organización del código. Facilita la reutilización y extensión del software. Promueve el diseño orientado a interfaces.