Junior — Middle
Puteți explica ce înseamnă conceptul de clasă abstractă în programarea orientată pe obiecte?
sobes.tech AI
Răspuns de la AI
O clasă abstractă în programarea orientată pe obiecte este o clasă care nu este destinată creării de instanțe direct. Servește ca șablon pentru alte clase și poate conține atât metode implementate, cât și metode abstracte (fără implementare), care trebuie implementate în subclase.
De exemplu, în Dart (limbajul Flutter), o clasă abstractă este declarată cu cuvântul cheie abstract:
abstract class Animal {
void makeSound(); // metodă abstractă
void breathe() {
print('Respiră'); // metodă implementată
}
}
class Dog extends Animal {
@override
void makeSound() {
print('Ham');
}
}
void main() {
// Animal animal = Animal(); // Eroare: nu se poate crea o instanță a unei clase abstracte
Dog dog = Dog();
dog.makeSound(); // Ham
dog.breathe(); // Respiră
}
Astfel, clasa abstractă definește o interfață generală și funcționalitate de bază, iar clasele concrete implementează detaliile.