Enums in Variablen verwenden
Teil des Abschnitts Logik & Ablauf der Dart-Journey von Coddy — Lektion 60 von 65.
Nachdem Sie nun wissen, wie man Enums definiert, lernen wir nun, wie man sie tatsächlich in Ihren Programmen verwendet. Sobald Sie ein Enum erstellt haben, können Sie Variablen dieses Enum-Typs deklarieren und ihnen spezifische Werte zuweisen.
Um eine Variable eines Enum-Typs zu deklarieren, geben Sie den Namen des Enums gefolgt vom Variablennamen an, genau wie bei jedem anderen Datentyp:
Weather todayWeather = Weather.sunny;Beachten Sie, wie Sie auf Enum-Werte mit der Punktnotation zugreifen: Weather.sunny. Dies teilt Dart mit, dass Sie den Wert sunny aus dem Enum Weather wünschen.
Sie können den Wert der Variablen in jeden anderen gültigen Enum-Wert ändern:
todayWeather = Weather.rainy;
todayWeather = Weather.cloudy;Der Vorteil bei der Verwendung von Enum-Variablen ist, dass Dart sicherstellt, dass Sie nur gültige Enum-Werte zuweisen können. Sie können einer Weather-Variable nicht versehentlich "stormy" oder einen anderen ungültigen Wert zuweisen, was häufige Programmierfehler verhindert und Ihren Code zuverlässiger macht.
Aufgabe
EinfachErstellen Sie ein Programm, das ein einfaches Aufgabenverfolgungssystem unter Verwendung von Enums und Variablen verwaltet. Ihre Aufgabe ist es:
- Definieren Sie ein Enum namens
TaskStatusmit den folgenden Werten:todo,inProgress,testing,completedundcancelled - Erstellen Sie eine Variable namens
task1Statusvom TypTaskStatusund weisen Sie ihr den WertTaskStatus.todozu - Erstellen Sie eine Variable namens
task2Statusvom TypTaskStatusund weisen Sie ihr den WertTaskStatus.inProgresszu - Erstellen Sie eine Variable namens
task3Statusvom TypTaskStatusund weisen Sie ihr den WertTaskStatus.completedzu - Geben Sie den initialen Status aller Aufgaben im exakten Format aus:
Task 1 status: TaskStatus.todo - Geben Sie den initialen Status von Aufgabe 2 im exakten Format aus:
Task 2 status: TaskStatus.inProgress - Geben Sie den initialen Status von Aufgabe 3 im exakten Format aus:
Task 3 status: TaskStatus.completed - Aktualisieren Sie
task1StatusaufTaskStatus.inProgress - Aktualisieren Sie
task2StatusaufTaskStatus.testing - Geben Sie den aktualisierten Status von Aufgabe 1 im exakten Format aus:
Updated Task 1 status: TaskStatus.inProgress - Geben Sie den aktualisierten Status von Aufgabe 2 im exakten Format aus:
Updated Task 2 status: TaskStatus.testing - Geben Sie den finalen Status von Aufgabe 3 im exakten Format aus:
Final Task 3 status: TaskStatus.completed
Ihr Programm sollte die korrekte Enum-Definition unter Verwendung des Schlüsselworts enum, die Variablendeklaration mit Enum-Typen, den Zugriff auf Enum-Werte mittels Punktnotation und das Aktualisieren von Enum-Variablen demonstrieren. Achten Sie darauf, die Dart-Namenskonventionen einzuhalten, bei denen der Enum-Name mit einem Großbuchstaben beginnt und die Enum-Werte kleingeschrieben werden.
Spickzettel
Um eine Variable eines Enum-Typs zu deklarieren, geben Sie den Namen des Enums gefolgt vom Variablennamen an:
Weather todayWeather = Weather.sunny;Greifen Sie auf Enum-Werte mithilfe der Punktnotation im Format EnumName.value zu:
todayWeather = Weather.rainy;
todayWeather = Weather.cloudy;Dart stellt sicher, dass Sie Enum-Variablen nur gültige Enum-Werte zuweisen können, was ungültige Zuweisungen verhindert und den Code zuverlässiger macht.
Probier es selbst
import 'dart:io';
// TODO: Definiere hier dein TaskStatus-Enum
void main() {
// TODO: Schreibe hier deinen Code
// 1. Erstelle die Variable task1Status und weise TaskStatus.todo zu
// 2. Erstelle die Variable task2Status und weise TaskStatus.inProgress zu
// 3. Erstelle die Variable task3Status und weise TaskStatus.completed zu
// 4. Gib den Anfangsstatus aller Aufgaben aus
// 5. Aktualisiere die Aufgabenstatus nach Bedarf
// 6. Gib die aktualisierten und finalen Status aus
}Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Logik & Ablauf
1Fortgeschrittene Listenmanipulation
Listen-Eigenschaften: first & lastListen-Status: isEmpty & isNotEmptyEine Liste umkehrenHinzufügen zu einer Liste: insertElemente aus Liste entfernen: removeWhereSuchen in einer Liste: indexOfEine Liste sortierenEine Liste mischenZusammenfassung – Listen-Organizer4Fortgeschrittene Map-Manipulation
Über eine Map iterierenPrüfen auf Schlüssel und WerteMap-Eigenschaften: keys & valuesBedingtes Hinzufügen: putIfAbsentEinträge aus einer Map entfernenVerschachtelte MapsRückblick – Inventar-Update7Fortgeschrittene Funktionen
Anonyme FunktionenFunktionen als Argumente übergebenClosures verstehenEinführung in die RekursionRekursive Funktion: CountdownRekursive Funktion: FakultätZusammenfassung – List Processor10Abschluss-Herausforderungen
Herausforderung: NotensortiererHerausforderung: VokalzählerHerausforderung: FizzBuzz2Funktionale Listenoperationen
Transformieren mit 'map'Filtern mit 'where''.toList()' verwendenBedingungen prüfen mit 'any'Bedingungen mit 'every'Suchen mit 'firstWhere'Zusammenfassung – Datenfilterung3Sets
Was ist ein Set?Ein Set erstellenHinzufügen und Entfernen in SetsPrüfen auf Elemente in einem SetEine Liste in ein Set umwandelnSet-VereinigungSet-SchnittmengeSet-DifferenzRückblick – Einzigartige Gästeliste6Grundlagen der Fehlerbehandlung
Was sind Exceptions?Der 'try-catch'-BlockExceptions mit 'on' abfangenDer 'finally'-BlockEine Exception auslösenRückblick - Sichere Division9Enumerations (Enums)
Was sind Enums?Einfache Enums definierenEnums in Variablen verwendenEnums in 'switch'-AnweisungenZusammenfassung – Ampel