Junior
Was ist eine abstrakte Klasse?
sobes.tech KI
Antwort von AI
Eine abstrakte Klasse ist eine Klasse, die nicht direkt mit dem Operator new erstellt werden kann. Sie dient als Basis für andere Klassen und kann abstrakte Methoden (ohne Implementierung) und normale Methoden (mit Implementierung) enthalten. Abstrakte Klassen werden mit dem Schlüsselwort abstract definiert.
Hauptmerkmale:
- Kann nicht instanziiert werden: Es ist nicht möglich, ein Objekt der abstrakten Klasse selbst zu erstellen.
- Kann abstrakte Methoden enthalten: Methoden ohne Körper, die in den abgeleiteten Klassen überschrieben werden müssen.
- Kann normale Methoden enthalten: Methoden mit Implementierung, die vererbt oder überschrieben werden können.
- Vererbung: Abgeleitete Klassen erben von der abstrakten Klasse und müssen alle ihre abstrakten Methoden implementieren.
Beispiel:
abstract class Shape {
// Abstrakte Methode ohne Implementierung
double getArea();
// Normale Methode mit Implementierung
void describe() {
print('Dies ist eine Figur.');
}
}
class Circle extends Shape {
double radius;
Circle(this.radius);
// Implementierung der abstrakten Methode
@override
double getArea() {
return 3.14 * radius * radius;
}
}
class Square extends Shape {
double side;
Square(this.side);
// Implementierung der abstrakten Methode
@override
double getArea() {
return side * side;
}
}