Menu
Coddy logo textTech

Ö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 geliştiriyorsunuz. Dart'ın null güvenliği özelliklerini anladığınızı gösteren bir UserProfile sınıfı oluşturun.

UserProfile sınıfını şu şekilde uygulayın:

  1. Null olamayan özellikler (her zaman bir değere sahip olmalıdır):
    • id türü int
    • createdDate türü String
  2. Null olabilen özellikler (başlatmada null olabilir):
    • name türü String?
    • email türü String?
    • age türü int?
  3. Geç başlatılan özellik:
    • displayName türü String, late anahtar kelimesi kullanılarak bildirilmiş
  4. Yapıcı:
    • id ve createdDate'i gerekli parametreler olarak kabul eder
    • displayName'i "Guest" olarak başlatır
  5. Yöntem: <strong>void printProfile()</strong> Kullanıcı profilini şu formatta 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. Yöntem: <strong>void updateEmail(String? newEmail)</strong>
    • email özelliğini yeni değerle günceller.
  7. Yöntem: <strong>String getDisplayName()</strong>
    • Eğer name null değilse, displayName = name! ayarlar (null onay operatörü kullanarak)
    • displayName'ın 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() çağırmalısınız.

Profil oluşturmak, güncellemek ve beklenen çıktıdaki gibi bilgileri görüntülemek için kodu tamamlayın.

Kendin dene

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

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

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