Dart Academy · Lektion

Die Typen dynamic und Object

Die obersten Typen von Dart verstehen und passend einsetzen

Lektion 4 von 413 Schritte

Die Typen dynamic und Object ist eine kostenlose Dart Academy-Lektion auf CoddyKit. Dies ist Lektion 4 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.

Auch Dart hat Top-Typen

Manchmal benötigen Sie eine Variable, die jeden Wert aufnehmen kann. Dart bietet dafür zwei Top-Typen: Object und dynamic.

Object nimmt alles sicher auf

Ein Object kann jeden Wert aufnehmen, der nicht null ist. Dart prüft jedoch weiterhin jeden Methodenaufruf anhand des Typs Object.

Object thing = 42;
thing = "now text";

Object schränkt Methoden ein

Mit Object stehen Ihnen nur Methoden zur Verfügung, die alle Werte gemeinsam haben, etwa toString. Für typspezifisches Verhalten müssen Sie zuerst eine Typumwandlung vornehmen.

Object o = "hi";
// o.toUpperCase(); // error

dynamic deaktiviert Prüfungen

Eine Variable vom Typ dynamic kann ebenfalls jeden Wert aufnehmen, deaktiviert jedoch die Prüfungen zur Kompilierzeit. Fehler werden erst zur Laufzeit sichtbar.

dynamic d = "hi";
d.toUpperCase(); // allowed

dynamic kann spät abstürzen

Da die Prüfungen deaktiviert sind, wird ein falscher Aufruf auf einem Wert vom Typ dynamic problemlos kompiliert, kann aber während der Ausführung einen Fehler auslösen. Bequemlichkeit hat ihren Preis.

dynamic d = 5;
d.toUpperCase(); // runtime error

Object ist sicherer als dynamic

Bevorzugen Sie Object, wenn Sie tatsächlich jeden Wert aufnehmen müssen. So behalten Sie die Typsicherheit und überlassen dem Compiler die Prüfung Ihrer Aufrufe.

Object oder Object?

Das einfache Object schließt null aus. Wenn ein Wert null sein könnte, verwenden Sie die nullable Form Object, damit auch null zulässig ist.

Object? maybe = null;

Zurück in einen Typ umwandeln

Holen Sie mit der Typumwandlung as aus einem Object wieder einen konkreten Typ heraus. Anschließend werden seine Methoden wieder vollständig geprüft.

Object o = "hi";
var up = (o as String).toUpperCase();

Warum es dynamic weiterhin gibt

dynamic ist hilfreich beim Umgang mit untypisierten Daten, etwa mit JSON mit uneinheitlicher Struktur, deren Aufbau im Voraus unbekannt ist.

Vermeiden Sie dynamic standardmäßig

Wenn Sie zu schnell zu dynamic greifen, bleiben Fehler oft verborgen, bis Nutzende auf sie stoßen. Verwenden Sie stattdessen konkrete Typen oder Object, sofern Sie dynamic nicht wirklich benötigen.

Zwischen den beiden Typen wählen

Sie benötigen einen beliebigen Wert mit Typsicherheit? Wählen Sie Object. Müssen Sie bei unübersichtlichen Daten die Prüfungen umgehen? Verwenden Sie dynamic sparsam und bewusst.

Kurztest

Was ist der entscheidende Unterschied zwischen Object und dynamic?

Zusammenfassung: dynamic und Object

Sie haben gelernt, dass Object jeden Wert sicher aufnimmt, während dynamic ebenfalls jeden Wert aufnimmt, aber Prüfungen überspringt. Bevorzugen Sie Object oder konkrete Typen. 🛡️

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 „Die Typen dynamic und Object“ kostenlos?

Ja — der vollständige Text von „Die Typen dynamic und Object“ 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 „Die Typen dynamic und Object“?

Die obersten Typen von Dart verstehen und passend einsetzen 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 4 von 4.

Wie lange dauert die Lektion „Die Typen dynamic und Object“?

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. var, final und const erklärt
  2. Die Grundtypen: int, double, String, bool
  3. Typinferenz oder explizite Typen
  4. Die Typen dynamic und Object
← Zurück zu Dart Academy