Ö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 güvenliği özelliklerini anladığını gösteren bir UserProfile sınıfı oluştur.
Aşağıdakileri içeren bir UserProfile sınıfı uygula:
- Null olamayan özellikler (her zaman bir değere sahip olmalıdır):
idtürüintcreatedDatetürüString
- Null olabilen özellikler (başlatılırken null olabilir):
nametürüString?emailtürüString?agetürüint?
- Geç başlatılan özellik:
displayNametürüStringoluplateanahtar sözcüğü kullanılarak bildirilir
- Yapıcı:
- Gerekli parametreler olarak
idvecreatedDatedeğerlerini kabul eder displayNamedeğerini"Guest"olarak başlatır
- Gerekli parametreler olarak
Metot:
<strong>void printProfile()</strong>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:
<strong>void updateEmail(String? newEmail)</strong>emailözelliğini yeni değerle günceller.
- Metot:
<strong>String getDisplayName()</strong>namenull değilsedisplayName = name!değerini atar (null assertion operatörünü kullanarak)displayNamedeğerinin mevcut değerini döndürür
Önemli: name özelliğini güncelledikten sonra profili yeniden yazdırmadan önce getDisplayName() alanını güncellemek için displayName metodunu çağırmalısın.
Beklenen çıktıda gösterildiği gibi bir profil oluşturmak, profili 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');
// İlk 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'i güncellemek için bunu çağır
profile.printProfile();
}
class UserProfile {
// TODO: Özellikleri ekle (id, createdDate, name, email, age, displayName)
// TODO: Constructor 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