Menu
CoddyTech

Zusammenfassung - Null sicher handhaben

Teil des Abschnitts Grundlagen der Dart-Journey von Coddy. Lektion 82 von 94.

challenge icon

Aufgabe

Einfach

Du entwickelst ein Benutzerprofilsystem 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:

  1. Nicht nullable Eigenschaften (müssen immer einen Wert haben):
    • id vom Typ int
    • createdDate vom Typ String
  2. Nullable Eigenschaften (können bei der Initialisierung null sein):
    • name vom Typ String?
    • email vom Typ String?
    • age vom Typ int?
  3. Spät initialisierte Eigenschaft:
    • displayName vom Typ String, deklariert mit dem Schlüsselwort late
  4. Konstruktor:
    • Akzeptiert id und createdDate als erforderliche Parameter
    • Initialisiert displayName mit "Guest"
  5. Methode: void printProfile() 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>
    -------------------
  6. Methode: void updateEmail(String? newEmail)
    • Aktualisiert die Eigenschaft email mit dem neuen Wert.
  7. Methode: String getDisplayName()
    • Wenn name nicht null ist, setzt sie displayName = name! (unter Verwendung des Null-Assertionsoperators).
    • Gibt den aktuellen Wert von displayName zurück.

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 gezeigt anzuzeigen.

Probier es selbst

void main() {
  // Erstelle ein Benutzerprofil
  final profile = UserProfile(1, 'today');
  
  // Gib das ursprüngliche Profil aus
  profile.printProfile();
  
  // Aktualisiere das Profil
  profile.name = 'John Doe';
  profile.updateEmail('john@example.com');
  profile.age = 30;
  
  // Aktualisiere den Anzeigenamen und gib das aktualisierte Profil aus
  profile.getDisplayName(); // Rufe dies auf, um displayName zu aktualisieren
  profile.printProfile();
}

class UserProfile {
  // TODO: Eigenschaften hinzufügen (id, createdDate, name, email, age, displayName)
  
  // TODO: Konstruktor erstellen
  
  // TODO: Methode printProfile() implementieren
  
  // TODO: Methode updateEmail() implementieren
  
  // TODO: Methode getDisplayName() implementieren
}

Alle Lektionen in Grundlagen

Übe selbstständig: Online-Dart-Compiler