Dart Academy · Lektion

Statische Extension-Member und Konflikte

Namenskonflikte lösen und statische Hilfsfunktionen hinzufügen

Lektion 3 von 413 Schritte

Statische Extension-Member und Konflikte ist eine kostenlose Dart Academy-Lektion auf CoddyKit. Dies ist Lektion 3 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.

Zwei Hilfsmethoden, derselbe Name

Wenn Sie zwei Extensions importieren, die beide eine Methode namens parse zu String hinzufügen, weiß Dart nicht mehr, welche Sie meinen.

Warum Konflikte entstehen

Extension-Member gehören nicht zum Typ selbst. Zwei Methoden mit demselben Namen sind daher eine Mehrdeutigkeit, bei der der Compiler nicht einfach raten darf.

Den Fehler erkennen

In diesem Fall meldet Dart eine mehrdeutige Extension und bricht ab, statt stillschweigend eine davon für Sie auszuwählen.

"7".parse(); // error: ambiguous between two extensions

Eine beim Import ausblenden

Verwenden Sie hide im Import, um eine der kollidierenden Extensions anhand ihres Namens auszublenden. Dann kann die andere den Aufruf übernehmen.

import 'b.dart' hide NumberParsing;

Oder nur eine anzeigen

Das Gegenstück ist show: Damit importieren Sie nur die aufgelisteten Namen und schließen den Rest stillschweigend aus.

import 'a.dart' show NumberParsing;

Explizit aufrufen

Sie können auch eine explizite Anwendung verwenden: Nennen Sie die Extension und übergeben Sie den Wert in Klammern.

NumberParsing("7").parse();

Statische Member hinzufügen

Extensions können auch statische Member enthalten. Diese gehören zum Namen der Extension und nicht zu den Werten, für die Sie Methoden aufrufen.

extension MathX on num {
  static num clampLow(num x) => x < 0 ? 0 : x;
}

Auf statische Member über den Namen zugreifen

Rufen Sie ein statisches Member über den Namen der Extension auf, genau wie ein statisches Member einer Klasse. Der Receiver-Wert ist daran nicht beteiligt.

print(MathX.clampLow(-3)); // 0

Statische Member benötigen einen Namen

Da Sie statische Member über die Extension erreichen, kann eine unbenannte Extension sie nicht bereitstellen. Geben Sie ihr einen Namen, wenn Sie statische Member verwenden möchten.

Member und statische Member

Instanzmember verwenden this und gehören zu einem Wert. Statische Member ignorieren den Wert und gehören zur Extension selbst.

Konflikten vorbeugen

Geben Sie Extensions und ihren Membern klare, spezifische Namen. Gute Namensgebung verhindert die meisten Konflikte, bevor show oder hide überhaupt nötig werden.

Kurze Überprüfung

Ein Konflikt, eine saubere Lösung. Welche funktioniert?

Zusammenfassung: Statische Member und Konflikte

Sie können kollidierende Extensions mit show, hide oder expliziten Aufrufen auflösen und statische Member hinzufügen, die über den Namen der Extension erreichbar sind. 🧩

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 „Statische Extension-Member und Konflikte“ kostenlos?

Ja — der vollständige Text von „Statische Extension-Member und Konflikte“ 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 „Statische Extension-Member und Konflikte“?

Namenskonflikte lösen und statische Hilfsfunktionen hinzufügen 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 3 von 4.

Wie lange dauert die Lektion „Statische Extension-Member und Konflikte“?

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. Ihre erste Extension schreiben
  2. Extensions für Generics
  3. Statische Extension-Member und Konflikte
  4. Extension Types für Wrapper ohne Laufzeitkosten
← Zurück zu Dart Academy