0Pricing
Dart Academy · Lektion

Generische Klassen und Methoden

Eigene Typen parametrisieren

Generische Klassen und Methoden 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.

Ihre eigenen Generics

Integrierte Typen wie List sind generisch, und Sie können ebenfalls eigene Generics schreiben. Ein Typparameter ermöglicht es Ihrer Klasse, sich an jeden Typ anzupassen, den der Aufrufer auswählt. 🧩

Den Typparameter benennen

Sie fügen einen Typparameter in spitzen Klammern hinter dem Klassennamen hinzu. Der Buchstabe T ist ein gängiger Platzhalter für einen tatsächlichen Typ.

class Box<T> {
  T value;
  Box(this.value);
}

T innerhalb der Klasse verwenden

Innerhalb der Klasse verhält sich T wie jeder andere Typname. Sie können T im gesamten Klassenrumpf für Felder, Parameter und Rückgabewerte verwenden.

class Box<T> {
  T value;
  Box(this.value);
  T get() => value;
}

Den Typ einsetzen

Beim Erstellen des Objekts wählen Sie den tatsächlichen Typ. Hier wird T zu int, sodass diese Box ausschließlich Ganzzahlen enthält.

var b = Box<int>(42);
int n = b.get();

Dart den Typ ableiten lassen

Oft können Sie auf den expliziten Typ verzichten, weil Dart ihn aus dem Argument abliest. Die Typinferenz erkennt einen String und setzt T für Sie.

var b = Box('hi');

Mehrere Typparameter

Eine Klasse kann mehr als einen Typparameter aufnehmen, die durch Kommas getrennt werden. Ein Paar, das zwei verschiedene Typen enthält, ist ein klassisches Beispiel.

class Pair<A, B> {
  A first;
  B second;
  Pair(this.first, this.second);
}

Generische Methoden

Sie können auch eine einzelne Methode generisch machen, selbst in einer nicht generischen Klasse. Setzen Sie den Typparameter direkt vor die Parameterliste.

T firstOf<T>(List<T> items) => items[0];

Methoden leiten den Typ ebenfalls ab

Eine generische Methode leitet ihren Typ normalerweise aus den übergebenen Argumenten ab. Rufen Sie sie ganz normal auf, und Dart erledigt den Rest.

var n = firstOf([1, 2, 3]);
var s = firstOf(['a', 'b']);

Typsicherheit kehrt zurück

Da die Methode T nachverfolgt, behält das Ergebnis den korrekten Typ. firstOf für eine String-Liste liefert wieder einen String, ganz ohne Casting.

String x = firstOf(['a', 'b']);

Wiederverwendbar statt redundant

Eine generische Definition ersetzt viele per Copy-and-paste erstellte Varianten. Sie schreiben die Logik einmal und können sie gleichermaßen für int, String und jeden benutzerdefinierten Typ verwenden.

Klare Namen wählen

Einzelne Buchstaben wie T, E oder K sind üblich, aber ein beschreibender Name kann hilfreich sein. Bei komplexem Code ist Klarheit wichtiger als Kürze.

Schnelltest

Wo steht ein Typparameter bei einer Klasse?

Zusammenfassung

Sie haben gelernt, Ihren eigenen Klassen und Methoden einen Typparameter wie T hinzuzufügen. Dart setzt ihn oft per Inferenz ein, sodass der Code wiederverwendbar und sicher bleibt. ✅

Häufig gestellte Fragen

Ist die Lektion „Generische Klassen und Methoden“ kostenlos?

Ja — der vollständige Text von „Generische Klassen und Methoden“ 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 „Generische Klassen und Methoden“?

Eigene Typen parametrisieren 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 „Generische Klassen und Methoden“?

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. Warum Generics dynamic überlegen sind
  2. Generische Klassen und Methoden
  3. Begrenzte Typparameter mit extends
  4. Generische Collections in der Praxis
← Zurück zu Dart Academy