Menu
Coddy logo textTech

Zusammenfassung - Null sicher handhaben

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

challenge icon

Aufgabe

Einfach

Du 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:

  1. Nicht-nullbare Eigenschaften (müssen immer einen Wert haben):
    • id vom Typ int
    • createdDate vom Typ String
  2. Nullbare 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 auf "Guest"
  5. 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>
    -------------------
  6. Methode: <strong>void updateEmail(String? newEmail)</strong>
    • Aktualisiert die email-Eigenschaft mit dem neuen Wert.
  7. Methode: <strong>String getDisplayName()</strong>
    • Wenn name nicht null ist, setzt displayName = name! (mit Null-Behauptungsoperator)
    • Gibt den aktuellen Wert von displayName zurück

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