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.