0Pricing
Dart Academy · Ders

extends ile Sınırlandırılmış Tür Parametreleri

Bir genel türün kabul edebileceklerini kısıtlama

extends ile Sınırlandırılmış Tür Parametreleri, CoddyKit'te ücretsiz bir Dart Academy dersidir. Bu, 4 dersinin 3. 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.

Her Tür Fazla Esnek Olduğunda

Sıradan bir tür parametresi her türü kabul eder; ancak bazen daha fazlasına ihtiyaç duyarsınız. Yalnızca belirli türlerin sağladığı bir metodu çağırmak isteyebilirsiniz. 🔒

extends ile Sınır

extends kullanarak bir sınır ekleyebilirsiniz. Bu, tür parametresinin belirli bir tür veya onun alt türlerinden biri olması gerektiğini belirtir.

class Cage<T extends Animal> {}

Bir Sınırın Garantisi

Sınıfın içinde Dart artık T'nin en azından bir Animal olduğuna güvenir. Böylece Animal tarafından tanımlanan herhangi bir üyeyi güvenle kullanabilirsiniz.

class Cage<T extends Animal> {
  void feed(T a) => a.eat();
}

Geçersiz Türleri Reddetme

Derleyici, sınırı karşılamayan tüm tür bağımsız değişkenlerini engeller. İlişkisiz bir tür gönderdiğinizde hatayı hemen görürsünüz.

Cage<String>();

Sayısal Bir Sınır

Yaygın bir sınır, int ve double'ın üst türü olan num'dur. Bu, jeneriğin her iki sayı türünü de kabul ederken aritmetik işlemler yapmasını sağlar.

T addOne<T extends num>(T x) => x + 1 as T;

Metotlarda Sınırlar

Sınırlar yalnızca sınıflarda değil, jenerik metotlarda da çalışır. extends ifadesini metottaki tür parametresi adının hemen arkasına yerleştirin.

num biggest<T extends num>(List<T> xs) =>
    xs.reduce((a, b) => a > b ? a : b);

Varsayılan Sınır Object'tir

Bir sınır belirtmediğinizde örtük sınır Object? olur. Bu nedenle sınırsız bir T ile yalnızca her nesnenin sahip olduğu üyeleri kullanabilirsiniz.

Comparable Sınırı

Sıralama veya karşılaştırma yapmak için Comparable ile sınırlandırın. Böylece jenerik kodunuzun içindeki değerlerde compareTo çağırabilirsiniz.

T max<T extends Comparable<T>>(T a, T b) =>
    a.compareTo(b) >= 0 ? a : b;

Sınırlar Amacı Belirtir

Bir sınır, burada hangi türlerin kullanılabileceğini de okuyuculara anlatır. İmzanın kendisi, kodunuzun beklediği sözleşmeyi açıklar.

Kendine Başvuran Sınırlar

T'nin, T extends Comparable of T örneğinde olduğu gibi, kendi sınırında yer alabileceğine dikkat edin. Bu kalıp, bir türü kendi üzerindeki işlemlere bağlar.

Sınırları Gerektiği Kadar Esnek Tutun

İşe yarayan en gevşek sınırı kullanın. Gereğinden fazla kısıtlama geçerli türleri dışarıda bırakır; hiç sınır koymamak da yararlı metotlara erişimi engeller.

Hızlı Kontrol

Bir sınır, sınıfın içinde ne yapmanızı sağlar?

Özet

Bir tür parametresini sınırlandırmak için extends kullandınız; böylece sınır türünün metotlarına eriştiniz ve ilişkisiz türleri reddettiniz. Sınırları, işin gerektirdiği kadar gevşek tutun. ✅

Sıkça Sorulan Sorular

“extends ile Sınırlandırılmış Tür Parametreleri” dersi ücretsiz mi?

Evet — “extends ile Sınırlandırılmış Tür Parametreleri” 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.

“extends ile Sınırlandırılmış Tür Parametreleri” dersinde ne öğreneceğim?

Bir genel türün kabul edebileceklerini kısıtlama 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 3. dersidir.

“extends ile Sınırlandırılmış Tür Parametreleri” 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. Generics Neden dynamic'den Üstündür
  2. Genel Sınıflar ve Yöntemler
  3. extends ile Sınırlandırılmış Tür Parametreleri
  4. Uygulamada Genel Koleksiyonlar
← Dart Academy Sayfasına Dön