Final Alanları ve Derin Değişmezlik
Hiç değişmeyen nesneler oluşturun.
Final Alanları ve Derin Değişmezlik, CoddyKit'te ücretsiz bir Dart Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Dart Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Dart Academy kursu toplamda 4 dersten oluşur.
Tasarı gereği değişmez
Değişmez bir nesne oluşturulduktan sonra hiçbir zaman değişmez. Bu, verilerinizin öngörülebilir olmasını ve uygulamanızın her yerinde güvenle paylaşılabilmesini sağlar. 🔒
Değişmez alanla tanışın
Değişmez bir alan, oluşturma sırasında bir kez atanır ve bir daha yeniden atanamaz. Değer, nesnenin ömrü boyunca yerinde sabit kalır.
class Point {
final int x;
Point(this.x);
}Yeniden atama hatadır
Değişmez bir alana yeni bir değer atamayı deneyin; derleyici bunu engeller. Hata, programınız daha çalışmadan yakalanır.
final p = Point(3);
p.x = 9; // compile errorDeğişmez ve sabit karşılaştırması
Değer derleme zamanında biliniyorsa sabit kullanın; çalışma zamanında hesaplanıyorsa değişmez kullanın. Her ikisi de daha sonra yeniden atamayı engeller.
const pi = 3.14;
final now = DateTime.now();Sabit yapıcılar
Bir sınıfa sabit yapıcı verirseniz Dart gerçekten sabit örnekler oluşturabilir. Tüm alanlarının kendisi de değişmez olmalıdır.
class Color {
final int rgb;
const Color(this.rgb);
}Paylaşılan sabit örnekler
Birbirinin aynısı olan iki sabit nesne, bellekte tamamen aynı örnektir. Dart bunları yeniden kullanarak hem alandan hem de zamandan tasarruf eder.
const a = Color(0);
const b = Color(0);
print(identical(a, b)); // trueYüzeysel ve derin
Değişmez bir alan yeniden atamayı engeller, ancak işaret ettiği şeyi dondurmaz. Değişmez bir listeye yine de öğe eklenebilir.
final nums = [1, 2];
nums.add(3); // allowed!Derin değişmezlik hedefi
Derin değişmezlik, nesneden erişilebilen hiçbir şeyin değişememesi demektir. Buna tamamen ulaşmak için yalnızca değişmez alanlar yeterli değildir.
Koleksiyonları dondurma
Bir listenin etrafına List.unmodifiable sarın; böylece ekleme veya silme girişimleri hata verir. Artık yapının tamamı donmuş kalır.
final tags = List.unmodifiable([1, 2]);
tags.add(3); // throws at runtimeSabit koleksiyon değişmezleri
Derinlemesine değişmez, derleme zamanında oluşturulan bir koleksiyon elde etmek için değişmezin önüne sabit ekleyin. Hiçbir şekilde değiştirilemez.
const days = ['Mon', 'Tue'];
// days.add(...) is forbiddenNeden önemlidir
Değişmez veriler iş parçacığı açısından güvenlidir, önbelleğe alınmaları kolaydır ve Flutter'da durum yönetimi için uygundur. Gizli değişikliklerden kaynaklanan hatalar tamamen ortadan kalkar.
Hızlı kontrol
Değişmez alanlar ve değişmezlik hakkında son bir kontrol.
Özet
Değişmez alanların bir alanı kilitlediğini, sabitlerin derleme zamanı değerlerini sabitlediğini ve derin değişmezlik için değiştirilemez veya sabit koleksiyonlar gerektiğini öğrendiniz. 🎉
Sıkça Sorulan Sorular
“Final Alanları ve Derin Değişmezlik” dersi ücretsiz mi?
Evet — “Final Alanları ve Derin Değişmezlik” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Dart Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Dart Academy kursu toplamda 4 dersten oluşur.
“Final Alanları ve Derin Değişmezlik” dersinde ne öğreneceğim?
Hiç değişmeyen nesneler oluşturun. Dart Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Dart Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Dart Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.
“Final Alanları ve Derin Değişmezlik” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Dart Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Dart Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Final Alanları ve Derin Değişmezlik
- sealed Sınıflar ve Kapsamlı switch
- base, interface ve final Belirteçleri
- copyWith ve Değer Eşitliği