Zusammenfassung - Null sicher handhaben
Teil des Abschnitts Grundlagen der Dart-Journey von Coddy — Lektion 82 von 94.
Aufgabe
EinfachDu baust ein Benutzerprofil-System für eine Mobile-App. Erstelle eine UserProfile-Klasse, die dein Verständnis der Null-Sicherheitsfunktionen von Dart demonstriert.
Implementiere eine Klasse UserProfile mit folgendem:
- Nicht-nullbare Eigenschaften (müssen immer einen Wert haben):
idvom TypintcreatedDatevom TypString
- Nullbare Eigenschaften (können bei der Initialisierung null sein):
namevom TypString?emailvom TypString?agevom Typint?
- Spät initialisierte Eigenschaft:
displayNamevom TypString, deklariert mit dem Schlüsselwortlate
- Konstruktor:
- Akzeptiert
idundcreatedDateals erforderliche Parameter - Initialisiert
displayNameauf"Guest"
- Akzeptiert
Methode:
<strong>void printProfile()</strong>Gibt das Benutzerprofil im folgenden Format aus:User Profile: ID: <id> Created: <createdDate> Name: <name or 'Not provided'> Email: <email or 'Not provided'> Age: <age or 'Not provided'> Display Name: <displayName> -------------------- Methode:
<strong>void updateEmail(String? newEmail)</strong>- Aktualisiert die
email-Eigenschaft mit dem neuen Wert.
- Aktualisiert die
- Methode:
<strong>String getDisplayName()</strong>- Wenn
namenicht null ist, setztdisplayName = name!(mit Null-Behauptungsoperator) - Gibt den aktuellen Wert von
displayNamezurück
- Wenn
Wichtig: Nach dem Aktualisieren der name-Eigenschaft musst du getDisplayName() aufrufen, um das displayName-Feld zu aktualisieren, bevor du das Profil erneut ausgibst.
Vervollständige den Code, um ein Profil zu erstellen, es zu aktualisieren und die Informationen wie im erwarteten Output anzuzeigen.
Probier es selbst
void main() {
// Erstelle ein Benutzerprofil
final profile = UserProfile(1, 'today');
// Drucke initiales Profil
profile.printProfile();
// Aktualisiere Profil
profile.name = 'John Doe';
profile.updateEmail('john@example.com');
profile.age = 30;
// Aktualisiere Anzeigenamen und drucke aktualisiertes Profil
profile.getDisplayName(); // Rufe das auf, um displayName zu aktualisieren
profile.printProfile();
}
class UserProfile {
// TODO: Füge Eigenschaften hinzu (id, createdDate, name, email, age, displayName)
// TODO: Erstelle Konstruktor
// TODO: Implementiere printProfile()-Methode
// TODO: Implementiere updateEmail()-Methode
// TODO: Implementiere getDisplayName()-Methode
}Alle Lektionen in Grundlagen
4Operatoren Teil 2
VergleichsoperatorenLogischer UNDLogischer ODERLogischer NICHTTypprüfoperatorenZusammenfassung - Vergleiche durchführen7Arbeiten mit Strings
String-KonkatenationString-InterpolationMehrzeilige StringsString-EigenschaftenGrundlegende String-Methoden10Sammlungen - Grundlagen von Maps
Was sind Maps?Eine Map erstellenWerte per Schlüssel abrufenSchlüssel-Wert-PaareGröße einer Map ermittelnSchlüssel abrufenWerte abrufenPrüfen, ob ein Schlüssel existiert13Null-Sicherheit im Detail
Null verstehenNullable-TypenNon-Nullable-TypenNull-Assertion-OperatorLate-InitialisierungZusammenfassung - Null sicher handhaben16Grundlagenherausforderungen
Herausforderung: Liste von BerechnungenHerausforderung: Summe von ZahlenHerausforderung: Produkt finden2Variablen und grundlegende Datentypen
Was sind Variablen?StringsGanzzahlen (int)Gleitkommazahlen (double)Boolesche Werte (bool)Typinferenz mit 'var'Finale VariablenKonstante VariablenNamenskonventionenGrundlegende Null-SicherheitZusammenfassung - Variablen deklarieren8Kontrollfluss - Schleifen
Die 'for'-SchleifeDie 'while'-SchleifeDie 'do-while'-Schleife'break' in Schleifen verwenden'continue' in Schleifen verwendenZusammenfassung - Code wiederholen3Operatoren Teil 1
Arithmetische OperatorenGanzzahldivisionModulo-OperatorInkrement und DekrementZuweisungsabkürzungenZusammenfassung - Einfache Berechnungen6Steuerfluss - Entscheidungen
Die 'if'-AnweisungDie 'else'-AnweisungDie 'else if'-AnweisungZusammenfassung - Einfache EntscheidungenVerschachtelte 'if'-AnweisungenDie 'switch'-Anweisung9Sammlungen – Listen-Grundlagen
Was sind Listen?Eine Liste erstellenZugriff per IndexListenlänge ermittelnElemente hinzufügenElemente entfernenPrüfen, ob eine Liste leer istÜber eine Liste iterieren12Erweiterte Funktionen
Optionale Positions-ParameterBenannte ParameterErforderliche benannte ParameterStandardwerte für ParameterZusammenfassung - Funktionsparameter15Projekt: Einfacher Rechner
EinrichtenZahl deklarieren