sealed Sınıflar ve Kapsamlı switch
Derleyicinin denetleyebileceği kapalı bir hiyerarşi oluşturun.
sealed Sınıflar ve Kapsamlı switch, CoddyKit'te ücretsiz bir Dart Academy dersidir. Bu, 4 dersinin 2. 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.
Kapalı bir aile
Mühürlü bir sınıf, alt türlerden oluşan sabit bir küme tanımlar. Dosyasının dışındaki hiçbir kod yeni bir alt tür ekleyemez; böylece aile tamamen bilinir.
sealed class Shape {}Alt türleri tanımlama
Mühürlü bir türün alt sınıfları aynı dosyada bulunur. Birlikte, derleyicinin dikkate alması gereken tüm olası varyantları oluştururlar.
class Circle extends Shape {}
class Square extends Shape {}Doğrudan örneklenemez
Mühürlü bir sınıf örtük olarak soyuttur; bu nedenle doğrudan bir örneğini oluşturamazsınız. Yalnızca bilinen alt türlerinden birini oluşturabilirsiniz.
var s = Shape(); // error
var s = Circle(); // okMühürlü türler neden yararlıdır
Alt türler tüm durumları kapsadığı için Dart tam listeyi bilir. Bu sayede seçim yapısı, her durumu ele alıp almadığınızı doğrulayabilir.
Alt türler üzerinde seçim
Mühürlü bir değer üzerinde kullanılan seçim, her alt türle desen üzerinden eşleşebilir. Her dal, eşleşen kesin türü görür.
switch (shape) {
case Circle(): print('round');
case Square(): print('boxy');
}Tüm durumların kapsandığı denetlenir
Bir alt türü unutursanız derleyici bir hata bildirir. Mühürlü bir seçim yapısından hiçbir durumu sessizce çıkaramazsınız.
Varsayılan dal gerekmez
Her durum kapsandığı için varsayılan bir dala ihtiyacınız yoktur. Böyle bir dal eklemek yalnızca gelecekteki eksik durumları gizler.
İfade olarak seçim
Bir değeri doğrudan hesaplamak için seçimi ifade olarak kullanın. Tüm durumların kapsanması kuralı yine geçerlidir; bu nedenle her dal bir şey döndürür.
final name = switch (shape) {
Circle() => 'circle',
Square() => 'square',
};Yeni bir varyant ekleme
Daha sonra yeni bir alt tür eklediğinizde, onu atlayan her seçim kırmızıyla işaretlenir. Derleyici, her birini güncellemeniz için size yol gösterir.
class Triangle extends Shape {}
// existing switches now errorMühürlü ve soyut karşılaştırması
Soyut bir sınıf, dışarıda tanımlanmamış alt türlerin bulunmasına izin verir; bu nedenle seçim yapıları tüm durumları kapsayamaz. Mühürlü sınıf, tam denetim için kümeyi kapatır.
Durumlar için ideal
Mühürlü türler, Loading, Başarılı ve Hata gibi uygulama durumlarını modellemek için idealdir. Böylece her kullanıcı arayüzü dalının var olması garanti edilir. ✅
sealed class Result {}
class Loading extends Result {}
class Done extends Result {}Hızlı kontrol
Mühürlü türlerde tüm durumların kapsanması hakkında hızlı kontrol.
Özet
Mühürlü sınıfların bir tür ailesini kapattığını ve her seçimin tüm durumları kapsamasını sağladığını; böylece eksik durumların derleme hatasına dönüştüğünü gördünüz. 🎯
Sıkça Sorulan Sorular
“sealed Sınıflar ve Kapsamlı switch” dersi ücretsiz mi?
Evet — “sealed Sınıflar ve Kapsamlı switch” 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.
“sealed Sınıflar ve Kapsamlı switch” dersinde ne öğreneceğim?
Derleyicinin denetleyebileceği kapalı bir hiyerarşi 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 2. dersidir.
“sealed Sınıflar ve Kapsamlı switch” 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