Zusammenfassung - Null sicher handhaben
Teil des Abschnitts Grundlagen der Dart-Journey von Coddy. Lektion 82 von 94.
Aufgabe
EinfachDu erstellst ein Benutzerprofilsystem für eine mobile App. Erstelle eine Klasse UserProfile, die dein Verständnis der Null-Sicherheit von Dart demonstriert.
Implementiere eine Klasse UserProfile mit Folgendem:
- Eigenschaften, die nicht null sein dürfen (müssen immer einen Wert haben):
idvom TypintcreatedDatevom TypString
- Nullable Eigenschaften (können bei der Initialisierung null sein):
namevom TypString?emailvom TypString?agevom Typint?
- Verzögert initialisierte Eigenschaft:
displayNamevom TypString, deklariert mit dem Schlüsselwortlate
- Konstruktor:
- Akzeptiert
idundcreatedDateals erforderliche Parameter - Initialisiert
displayNamemit"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 Eigenschaft
emailmit dem neuen Wert.
- Aktualisiert die Eigenschaft
- Methode:
<strong>String getDisplayName()</strong>- Wenn
namenicht null ist, setzt siedisplayName = name!(unter Verwendung des Null-Assertionsoperators) - Gibt den aktuellen Wert von
displayNamezurück
- Wenn
Wichtig: Nachdem du die Eigenschaft name aktualisiert hast, musst du getDisplayName() aufrufen, um das Feld displayName zu aktualisieren, bevor du das Profil erneut ausgibst.
Vervollständige den Code, um ein Profil zu erstellen, es zu aktualisieren und die Informationen wie in der erwarteten Ausgabe anzuzeigen.
Probier es selbst
void main() {
// Erstelle ein Benutzerprofil
final profile = UserProfile(1, 'today');
// Initiales Profil ausgeben
profile.printProfile();
// Profil aktualisieren
profile.name = 'John Doe';
profile.updateEmail('john@example.com');
profile.age = 30;
// Anzeigenamen aktualisieren und aktualisiertes Profil ausgeben
profile.getDisplayName(); // Dies aufrufen, um displayName zu aktualisieren
profile.printProfile();
}
class UserProfile {
// TODO: Eigenschaften hinzufügen (id, createdDate, name, email, age, displayName)
// TODO: Konstruktor erstellen
// TODO: printProfile()-Methode implementieren
// TODO: updateEmail()-Methode implementieren
// TODO: getDisplayName()-Methode implementieren
}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Übe selbstständig: Online-Dart-Compiler