Dart Academy · Ders

Sıfır Maliyetli Sarmalayıcılar için Extension Türleri

Çalışma zamanı ek yükü olmadan bir türü sarmalama

4. ders / 413 adım

Sıfır Maliyetli Sarmalayıcılar için Extension Türleri, CoddyKit'te ücretsiz bir Dart Academy dersidir. Bu, 4 dersinin 4. 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.

Farklı Bir Araç

Bir extension type daha yeni bir özelliktir: mevcut bir türü, çalışma zamanı maliyeti olmadan yeni bir arayüz sunacak şekilde sarar.

Kutulamadan Sarın

Gerçek bir sarmalayıcı sınıfın aksine, bir uzantı türü çalışma zamanında hiçbir nesne eklemez. Çalışma zamanında yalnızca temel değerin kendisidir.

extension type UserId(int id) {}

Gösterim Türü

Parantez içindeki değer gösterim türüdür. Burada bir UserId, daha güvenli bir ad taşıyan aslında yalnızca bir int'tir.

extension type Meters(double value) {}

Kolayca Oluşturun

Bir uzantı türünü, kurucu çağırır gibi oluşturur ve temel değeri doğrudan verirsiniz.

var id = UserId(42);
var d = Meters(3.5);

Güvenli Yöntemler Ekleyin

Gövdenin içinde, sarılmış değer üzerinde çalışan yöntemler ve getter'lar ekleyerek değere gerçek bir anlam kazandırabilirsiniz.

extension type Meters(double value) {
  Meters plus(Meters o) => Meters(value + o.value);
}

typedef'ten Daha Güçlü

Bir typedef yalnızca bir takma addır; uzantı türü ise ayrı bir türdür. Bir UserId ile sıradan bir int'i yanlışlıkla birbirine karıştıramazsınız.

int raw = 42;
// UserId u = raw; // error: not interchangeable

Temel API'yi Gizleyin

Varsayılan olarak bir uzantı türü, sarılan türün üyelerini gizler; böylece yalnızca dışa sunduğunuz yöntemler çağrılabilir.

var m = Meters(2.0);
// m.toStringAsFixed(2); // not available unless exposed

Ya da Dışa Sunmak İçin Uygulayın

Temel üyeleri yönlendirmek için implements ekleyin; böylece çağıranlar hem API'nizi hem de temel türü kullanabilir.

extension type Score(int value) implements int {}
print(Score(9) + 1); // 10

Sıfır Çalışma Zamanı Ek Yükü

Gerçek bir nesne oluşturulmadığı için uzantı türlerinin çalışma zamanında hiçbir maliyeti yoktur. Tür güvenliğini ücretsiz elde edersiniz.

Alan Tanımlayıcıları İçin İdeal

UserId veya Email gibi türü belirlenmiş tanımlayıcılarda çok kullanışlıdırlar; yanlış int'i yanlış yuvaya geçirmenizi engellerler.

void load(UserId id) {}
load(UserId(7)); // load(7) would not compile

Uzantılar ve Uzantı Türleri

Bir uzantı, herkesin paylaştığı bir türe yöntem ekler; uzantı türü ise bir değer etrafında yeni ve ayrı bir tür oluşturur.

Hızlı Kontrol

Son kontrol: uzantı türlerini özel kılan nedir?

Özet: Uzantı Türleri

Uzantı türleriyle tanıştınız: bir gösterim türü üzerine kurulmuş, ayrı ve maliyetsiz sarmalayıcılardır; çalışma zamanı ek yükü olmadan güvenli kimlikler ve birimler için idealdirler. 🏁

Başlamak ücretsiz

Yapay zeka eğitmeniyle Dart öğren — ücretsiz

Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.

Kurslar
30
Dersler
120

Sıkça Sorulan Sorular

“Sıfır Maliyetli Sarmalayıcılar için Extension Türleri” dersi ücretsiz mi?

Evet — “Sıfır Maliyetli Sarmalayıcılar için Extension Türleri” 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.

“Sıfır Maliyetli Sarmalayıcılar için Extension Türleri” dersinde ne öğreneceğim?

Çalışma zamanı ek yükü olmadan bir türü sarmalama 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 4. dersidir.

“Sıfır Maliyetli Sarmalayıcılar için Extension Türleri” 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

  1. İlk Extension'ınızı Yazma
  2. Generics Üzerinde Extension'lar
  3. Statik Extension Üyeleri ve Çakışmalar
  4. Sıfır Maliyetli Sarmalayıcılar için Extension Türleri
← Dart Academy Sayfasına Dön