Sobes.tech
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.