Dart Academy · Lektion

extends und Methodenüberschreibung

Verhalten der Elternklasse teilen und spezialisieren

Lektion 1 von 413 Schritte

extends und Methodenüberschreibung ist eine kostenlose Dart Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Dart Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Dart Academy-Kurs umfasst insgesamt 4 Lektionen.

Verhalten gemeinsam nutzen

Wenn zwei Klassen den Großteil ihres Verhaltens gemeinsam haben, können Sie es einmal schreiben und wiederverwenden. Dart nennt dies Vererbung, und Sie vermeiden dadurch Copy-and-paste. 🌱

Das Schlüsselwort extends

Sie vererben, indem Sie extends nach einem Klassennamen schreiben. Die neue Klasse ist ein Kind und erhält automatisch die Felder und Methoden der übergeordneten Klasse.

class Animal {}
class Dog extends Animal {}

Übergeordnete Klasse und Unterklasse

Die Klasse, von der Sie erben, ist die Oberklasse (Elternklasse). Die neue Klasse ist die Unterklasse (Kindklasse). Ein Dog ist ein Animal, aber nicht jedes Animal ist ein Dog.

Geerbte Member

Eine Unterklasse kann die öffentlichen Methoden der übergeordneten Klasse sofort so verwenden, als wären es ihre eigenen. Sie schreiben das geerbte Verhalten einmal, und jede Unterklasse profitiert davon.

class Animal {
  void breathe() => print('breathing');
}
class Dog extends Animal {}
// Dog().breathe() works

Neues Verhalten hinzufügen

Eine Unterklasse kann zusätzlich zu den geerbten Methoden eigene Methoden hinzufügen. Das Kind bleibt ein Animal, erhält aber zusätzliche Fähigkeiten, die die übergeordnete Klasse nicht hatte.

class Dog extends Animal {
  void bark() => print('Woof!');
}

Eine Methode überschreiben

Manchmal ist die Version des Elternteils für das Kind nicht geeignet. Mit Überschreiben kann eine Unterklasse eine geerbte Methode durch ihre eigene Implementierung ersetzen.

class Animal {
  void speak() => print('...');
}
class Cat extends Animal {
  void speak() => print('Meow');
}

Der @override-Marker

Fügen Sie die Annotation @override über der ersetzten Methode ein. Dadurch wird der Analyzer angewiesen zu überprüfen, ob der Elternteil diese Methode tatsächlich besitzt, und Tippfehler werden früh erkannt.

class Cat extends Animal {
  @override
  void speak() => print('Meow');
}

Dieselbe Signatur erforderlich

Eine überschreibende Methode muss denselben Namen und eine kompatible Signatur behalten. Wenn Sie Parameter oder Rückgabetyp unbedacht ändern, weist Dart die Methode zurück.

Die Version des Elternteils wiederverwenden

Innerhalb einer überschreibenden Methode können Sie die ursprüngliche Version weiterhin über super aufrufen und anschließend eigene Schritte davor oder danach ausführen. So erweitern Sie das Verhalten, statt es zu verwerfen.

@override
void speak() {
  super.speak();
  print('and purrs');
}

Polymorphismus in Aktion

Speichern Sie Objekte von Unterklassen in einer Animal-Variable und rufen Sie speak auf: Jede Klasse führt ihre eigene Version aus. Das ist Polymorphismus – der eigentliche Vorteil des Überschreibens.

Animal a = Cat();
a.speak(); // Meow

Einfache Vererbung

Eine Dart-Klasse kann genau eine Oberklasse erweitern, niemals zwei. Wenn Sie Code über voneinander unabhängige Hierarchien hinweg gemeinsam nutzen möchten, greifen Sie später auf Mixins zurück.

Kurze Überprüfung

Sie ersetzen eine geerbte Methode in einer Unterklasse. Was bewirkt das?

Zusammenfassung

Sie haben extends verwendet, um die Member eines Elternteils zu erben, neue Methoden hinzugefügt und andere mit @override überschrieben. Das ist der Kern der Wiederverwendung von Klassen. 🎉

Kostenlos starten

Lerne Dart mit einem KI-Tutor — kostenlos

Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.

Kurse
30
Lektionen
120

Häufig gestellte Fragen

Ist die Lektion „extends und Methodenüberschreibung“ kostenlos?

Ja — der vollständige Text von „extends und Methodenüberschreibung“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Dart Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Dart Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „extends und Methodenüberschreibung“?

Verhalten der Elternklasse teilen und spezialisieren Du übst Dart Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Dart Academy zu starten?

Keine Vorkenntnisse erforderlich. Dart Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.

Wie lange dauert die Lektion „extends und Methodenüberschreibung“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Dart Academy-Lektion Code schreiben und ausführen?

Ja. Jede Dart Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. extends und Methodenüberschreibung
  2. super aufrufen und Konstruktorverkettung
  3. Mixins mit dem Schlüsselwort with
  4. on-Einschränkungen und Mixin-Reihenfolge
← Zurück zu Dart Academy