Logo Studenta

Abstracción en POO

¡Estudia con miles de materiales!

Vista previa del material en texto

Abstracción en POO 
 
La abstracción es uno de los cuatro conceptos fundamentales de la programación orientada a objetos 
(POO), junto con la encapsulación, la herencia y el polimorfismo. En POO, la abstracción se refiere a la 
capacidad de representar conceptos o elementos del mundo real como objetos o clases en el código, 
simplificando la complejidad y ocultando los detalles innecesarios, a la vez que se enfoca en los aspectos 
esenciales. 
1. Clases y Objetos: La abstracción se logra mediante la creación de clases que definen una 
plantilla para objetos. Las clases encapsulan atributos (datos) y métodos (funciones) que operan 
en esos datos. Estos objetos pueden representar entidades del mundo real, como automóviles, 
personas o cuentas bancarias. 
2. Ocultamiento de Datos: La abstracción permite ocultar los detalles internos de un objeto y 
proporcionar una interfaz pública que define cómo interactuar con él. Esto se logra a través de 
la encapsulación, que consiste en definir atributos como privados y proporcionar métodos 
públicos para acceder y manipular esos atributos de manera controlada. 
3. Simplificación: La abstracción simplifica la complejidad del mundo real al centrarse en los 
aspectos relevantes para un problema particular. Por ejemplo, un objeto "Coche" puede tener 
atributos como marca, modelo y velocidad, y métodos para acelerar, frenar y girar, sin 
preocuparse por los detalles internos del motor o la transmisión. 
4. Reutilización de Código: La abstracción permite la reutilización de código. Una vez que se ha 
definido una clase abstracta, se pueden crear múltiples objetos de esa clase en diferentes partes 
del programa, evitando la duplicación de código. 
5. Herencia y Polimorfismo: La abstracción se combina con la herencia para crear jerarquías de 
clases que comparten propiedades y comportamientos comunes. El polimorfismo permite tratar 
objetos de clases derivadas como si fueran objetos de la clase base, lo que facilita la escritura de 
código genérico y flexible. 
6. Interfaz y Clases Abstractas: Además de las clases concretas, la abstracción también se puede 
lograr a través de interfaces y clases abstractas. Las interfaces definen un conjunto de métodos 
que las clases deben implementar, mientras que las clases abstractas pueden contener métodos 
sin implementar, que deben ser definidos por las clases derivadas.

Otros materiales