Sobes.tech
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;
  }
}