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
- Warum Generics dynamic überlegen sind
- Generische Klassen und Methoden
- Begrenzte Typparameter mit extends
- Generische Collections in der Praxis