0Pricing
Dart Academy · Lektion

super aufrufen und Konstruktorverkettung

Während der Konstruktion die Elternklasse erreichen

super aufrufen und Konstruktorverkettung ist eine kostenlose Dart Academy-Lektion auf CoddyKit. Dies ist Lektion 2 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.

Reihenfolge der Konstruktion

Wenn Sie eine Unterklasse erstellen, muss deren Elternteil zuerst eingerichtet werden. Dart garantiert, dass der Konstruktor des Elternteils ausgeführt wird, bevor der Rumpf des Kindes beginnt. 🏗️

Lernen Sie super kennen

Das Schlüsselwort super verweist auf den Elternteil Ihres Objekts. Damit greifen Sie innerhalb des Kindes auf den Konstruktor, die Methoden und die Felder des Elternteils zu.

Das implizite super()

Wenn Sie nichts angeben, ruft Dart den parameterlosen Konstruktor des Elternteils automatisch für Sie auf. Dieses unsichtbare super() sorgt dafür, dass Elternteile immer zuerst initialisiert werden.

class Animal { Animal() => print('Animal'); }
class Dog extends Animal { Dog(); }

super explizit aufrufen

Wenn der Elternteil Argumente benötigt, rufen Sie super(...) in der Initialisierungsliste des Konstruktors nach einem Doppelpunkt auf. Dadurch werden Werte in der Vererbungskette weitergereicht.

class Dog extends Animal {
  Dog(String name) : super(name);
}

Wo super steht

Der super-Aufruf steht in der Initialisierungsliste, niemals im Konstruktorrumpf. Sobald der Rumpf ausgeführt wird, ist der Elternteil bereits vollständig erstellt.

Dog(String name, this.breed) : super(name);

super-Parameter

Modernes Dart ermöglicht es Ihnen, Argumente mit super.field direkt an den Elternteil weiterzureichen. Dadurch entfällt sich wiederholender Boilerplate-Code in der Parameterliste.

class Dog extends Animal {
  Dog(super.name);
}

super-Methoden aufrufen

Innerhalb einer überschriebenen Methode führt super.method() die ursprüngliche Version des Elternteils aus. So erweitern Sie das Verhalten, statt es vollständig zu ersetzen.

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

Die Vererbungskette hinauf

Bei mehreren Vererbungsebenen ruft jeder Konstruktor den Konstruktor seines eigenen Elternteils auf. Diese Kette reicht bis zur obersten Ebene und führt anschließend die Rümpfe bis zu Ihrer Klasse wieder abwärts aus.

Reihenfolge der Initialisierung

Die vollständige Reihenfolge lautet: zuerst Initialisierungsliste und super, dann der Rumpf des Elternteils und anschließend der Rumpf des Kindes. Felder sind für final vorbereitet, bevor ein Rumpf ausgeführt wird.

Wenn der Elternteil Argumente benötigt

Wenn der Elternteil keinen Standardkonstruktor besitzt, müssen Sie super mit den richtigen Argumenten aufrufen. Lassen Sie den Aufruf weg, meldet Dart einen Kompilierungsfehler.

Weiterleiten mit this

Innerhalb einer Klasse kann ein Konstruktor mit this(...) einen anderen Konstruktor aufrufen. Das ist eine Verkettung unter Geschwistern und etwas anderes als der Aufruf nach oben mit super.

Point.origin() : this(0, 0);

Kurze Überprüfung

Überlegen Sie, an welcher Stelle der Aufruf des Konstruktors des Elternteils stehen muss.

Zusammenfassung

Sie haben super verwendet, um Konstruktoren und Methoden des Elternteils auszuführen, Werte mit super-Parametern weitergereicht und Geschwisterkonstruktoren mit this umgeleitet. 🔗

Häufig gestellte Fragen

Ist die Lektion „super aufrufen und Konstruktorverkettung“ kostenlos?

Ja — der vollständige Text von „super aufrufen und Konstruktorverkettung“ 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 „super aufrufen und Konstruktorverkettung“?

Während der Konstruktion die Elternklasse erreichen 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 2 von 4.

Wie lange dauert die Lektion „super aufrufen und Konstruktorverkettung“?

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