Özet - Null'ı Güvenli Şekilde Ele Alma
Coddy'nin Dart Journey'sinin Temeller bölümünün bir parçası. Ders 82 / 94.
Görev
KolayBir 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:
- Null kabul etmeyen özellikler (her zaman bir değere sahip olmalıdır):
inttüründeidStringtüründecreatedDate
- Null kabul eden özellikler (başlatılırken null olabilir):
String?türündenameString?türündeemailint?türündeage
- Geç başlatılan özellik:
lateanahtar sözcüğü kullanılarak bildirilen,StringtüründedisplayName
- Yapıcı:
idvecreatedDatedeğerlerini gerekli parametreler olarak alırdisplayNamedeğerini"Guest"olarak başlatır
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> -------------------- Metot:
void updateEmail(String? newEmail)emailözelliğini yeni değerle günceller.
- Metot:
String getDisplayName()namenull değilse,displayName = name!olarak ayarlar (null assertion operatörünü kullanarak)displayNamedeğ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
4Operatörler Bölüm 2
Karşılaştırma OperatörleriMantıksal VEMantıksal VEYAMantıksal DEĞİLTür Test OperatörleriÖzet - Karşılaştırmalar Yapma7Dizelerle Çalışma
Dize BirleştirmeDize İnterpolasyonuÇok Satırlı DizelerDize ÖzellikleriTemel Dize Yöntemleri10Koleksiyonlar - Haritalar Temelleri
Haritalar Nedir?Harita OluşturmaAnahtara Göre Değerlere ErişimAnahtar-Değer ÇiftleriHarita Boyutunu AlmaAnahtarları AlmaDeğerleri AlmaBir Anahtarın Varlığını Kontrol Etme13Derinlemesine Null Güvenliği
Null'ı AnlamaNullable TürlerNon-Nullable TürlerNull Assertion OperatörüGeç BaşlatmaÖzet - Null'ı Güvenli Şekilde Ele Alma2Değişkenler ve Temel Veri Tipleri
Değişkenler Nedir?DizgelerTamsayılar (int)Ondalık Sayılar (double)Boole Değerleri (bool)'var' ile Tür ÇıkarımıFinal DeğişkenlerSabit Değişkenlerİsimlendirme KurallarıTemel Null GüvenliğiÖzet - Değişken Bildirimi8Akış Kontrolü - Döngüler
'for' Döngüsü'while' Döngüsü'do-while' DöngüsüDöngülerde 'break' KullanımıDöngülerde 'continue' KullanımıÖzet - Kodu Tekrarlama3Operatörler Kısım 1
Aritmetik OperatörlerTamsayı BölümüModulo OperatörüArtırma ve AzaltmaAtama KısayollarıÖzet - Basit Hesaplamalar6Akış Kontrolü - Karar Verme
'if' İfadesi'else' İfadesi'else if' İfadesiÖzet - Basit Kararlarİç İçe 'if' İfadeleri'switch' İfadesi9Koleksiyonlar - Liste Temelleri
Listeler Nedir?Liste Oluşturmaİndekse Göre ErişimListe Uzunluğunu AlmaEleman EklemeEleman KaldırmaListenın Boş Olup Olmadığını Kontrol EtmeListe Üzerinde Yineleme12Gelişmiş Fonksiyonlar
İsteğe Bağlı Konumsal Parametrelerİsimli ParametrelerZorunlu İsimli ParametrelerVarsayılan Parametre DeğerleriÖzet - Fonksiyon Parametreleri15Proje: Basit Hesap Makinesi
Kurulumu YapmaSayı TanımlamaKendi başına pratik yap: Online Dart derleyicisi