extends und Methodenüberschreibung
Verhalten der Elternklasse teilen und spezialisieren
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() worksNeues 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(); // MeowEinfache 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. 🎉
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
- extends und Methodenüberschreibung
- super aufrufen und Konstruktorverkettung
- Mixins mit dem Schlüsselwort with
- on-Einschränkungen und Mixin-Reihenfolge