Sobes.tech
Junior — Middle

¿Puede explicar qué significa el concepto de clase abstracta en programación orientada a objetos?

sobes.tech AI

Respuesta de la IA

Una clase abstracta en programación orientada a objetos es una clase que no está destinada a crear instancias directamente. Sirve como plantilla para otras clases y puede contener métodos implementados y también métodos abstractos (sin implementación), que deben ser implementados en las subclases.

Por ejemplo, en Dart (el lenguaje de Flutter), una clase abstracta se declara con la palabra clave abstract:

abstract class Animal {
  void makeSound(); // método abstracto

  void breathe() {
    print('Respirando'); // método implementado
  }
}

class Dog extends Animal {
  @override
  void makeSound() {
    print('Guau');
  }
}

void main() {
  // Animal animal = Animal(); // Error: no se puede crear una instancia de una clase abstracta
  Dog dog = Dog();
  dog.makeSound(); // Guau
  dog.breathe();   // Respirando
}

De esta manera, la clase abstracta define una interfaz general y funcionalidad básica, y las clases concretas implementan los detalles.