Junior
Wat is een abstracte klasse?
sobes.tech AI
Antwoord van AI
Een abstracte klasse is een klasse die niet rechtstreeks kan worden gemaakt met behulp van de operator new. Het dient als basis voor andere klassen en kan abstracte methoden (zonder implementatie) en gewone methoden (met implementatie) bevatten. Abstracte klassen worden gedefinieerd met het sleutelwoord abstract.
Belangrijkste kenmerken:
- Kan niet worden geïnstantieerd: Het is niet mogelijk om een object van de abstracte klasse zelf te maken.
- Kan abstracte methoden bevatten: Methoden zonder lichaam, die in de afgeleide klassen moeten worden overschreven.
- Kan gewone methoden bevatten: Methoden met implementatie, die kunnen worden geërfd of overschreven.
- Erfelijkheid: Afgeleide klassen erven van de abstracte klasse en moeten al haar abstracte methoden implementeren.
Voorbeeld:
abstract class Shape {
// Abstracte methode zonder implementatie
double getArea();
// Gewone methode met implementatie
void describe() {
print('Dit is een figuur.');
}
}
class Circle extends Shape {
double radius;
Circle(this.radius);
// Implementatie van de abstracte methode
@override
double getArea() {
return 3.14 * radius * radius;
}
}
class Square extends Shape {
double side;
Square(this.side);
// Implementatie van de abstracte methode
@override
double getArea() {
return side * side;
}
}