Menu
CoddyTech

Özet - Null'ı Güvenli Şekilde Ele Alma

Coddy'nin Dart Journey'sinin Temeller bölümünün bir parçası. Ders 82 / 94.

challenge icon

Görev

Kolay

Bir mobil uygulama için kullanıcı profili sistemi oluşturuyorsun. Dart'ın null safety özelliklerini anladığını gösteren bir UserProfile sınıfı oluştur.

Aşağıdakilere sahip bir UserProfile sınıfı uygula:

  1. Null kabul etmeyen özellikler (her zaman bir değere sahip olmalıdır):
    • int türünde id
    • String türünde createdDate
  2. Null kabul eden özellikler (başlatılırken null olabilir):
    • String? türünde name
    • String? türünde email
    • int? türünde age
  3. Geç başlatılan özellik:
    • late anahtar sözcüğü kullanılarak bildirilen, String türünde displayName
  4. Yapıcı:
    • id ve createdDate değerlerini gerekli parametreler olarak alır
    • displayName değerini "Guest" olarak başlatır
  5. Metot: void printProfile() Kullanıcı profilini aşağıdaki biçimde yazdırır:

    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. Metot: void updateEmail(String? newEmail)
    • email özelliğini yeni değerle günceller.
  7. Metot: String getDisplayName()
    • name null değilse, displayName = name! olarak ayarlar (null assertion operatörünü kullanarak)
    • displayName değerinin mevcut değerini döndürür

Önemli: name özelliğini güncelledikten sonra, profili tekrar yazdırmadan önce displayName alanını güncellemek için getDisplayName() metodunu çağırmalısın.

Beklenen çıktıda gösterildiği gibi bir profil oluşturmak, güncellemek ve bilgileri görüntülemek için kodu tamamla.

Kendin dene

void main() {
  // Bir kullanıcı profili oluştur
  final profile = UserProfile(1, 'today');
  
  // Başlangıçtaki profili yazdır
  profile.printProfile();
  
  // Profili güncelle
  profile.name = 'John Doe';
  profile.updateEmail('john@example.com');
  profile.age = 30;
  
  // Görünen adı güncelle ve güncellenmiş profili yazdır
  profile.getDisplayName(); // displayName değerini güncellemek için bunu çağır
  profile.printProfile();
}

class UserProfile {
  // TODO: Özellikleri ekle (id, createdDate, name, email, age, displayName)
  
  // TODO: Kurucuyu oluştur
  
  // TODO: printProfile() metodunu uygula
  
  // TODO: updateEmail() metodunu uygula
  
  // TODO: getDisplayName() metodunu uygula
}

Temeller bölümündeki tüm dersler

Kendi başına pratik yap: Online Dart derleyicisi