Junior — Middle
Kunt u uitleggen wat het begrip abstracte klasse betekent in objectgeoriënteerd programmeren?
sobes.tech AI
Antwoord van AI
Een abstracte klasse in objectgeoriënteerd programmeren is een klasse die niet bedoeld is om direct instanties van te maken. Het dient als sjabloon voor andere klassen en kan zowel geïmplementeerde methoden als abstracte methoden (zonder implementatie) bevatten, die in de subclasses geïmplementeerd moeten worden.
Bijvoorbeeld, in Dart (de Flutter-taal), wordt een abstracte klasse gedeclareerd met het sleutelwoord abstract:
abstract class Animal {
void makeSound(); // abstracte methode
void breathe() {
print('Ademt'); // geïmplementeerde methode
}
}
class Dog extends Animal {
@override
void makeSound() {
print('Woef');
}
}
void main() {
// Animal animal = Animal(); // Fout: kan geen instantie van een abstracte klasse maken
Dog dog = Dog();
dog.makeSound(); // Woef
dog.breathe(); // Ademt
}
Op deze manier definieert de abstracte klasse een algemene interface en basisfunctionaliteit, terwijl de concrete klassen de details implementeren.