Junior — Middle
¿Cuáles son las funciones principales y aplicaciones de las clases abstractas en la programación orientada a objetos?
sobes.tech AI
Respuesta de la IA
Las clases abstractas en programación orientada a objetos son clases que no están destinadas a crear instancias directamente, sino que sirven como plantillas base para otras clases.
Funciones principales de las clases abstractas:
- Definir una interfaz común y un comportamiento base para un grupo de clases relacionadas.
- La posibilidad de declarar métodos abstractos (sin implementación), que deben ser implementados por las subclases.
- Permiten implementar parcialmente la funcionalidad que las clases hijas heredan.
Aplicabilidad:
- Cuando se necesita establecer un contrato común para diferentes implementaciones.
- Cuando parte de la lógica es común, y otra parte debe ser implementada en los herederos.
Ejemplo en Java:
abstract class Animal {
abstract void makeSound(); // método abstracto
void breathe() {
System.out.println("Respira");
}
}
class Dog extends Animal {
void makeSound() {
System.out.println("Guau-guau");
}
}
Aquí, Animal no puede ser creado directamente, pero se puede crear un Dog, que implementa el método makeSound.