Kalıtım Yerine Birleştirme
Uygun olduğunda sahip-olma tasarımlarını tercih etme
Kalıtım Yerine Birleştirme, 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.
Yeniden Kullanmanın İki Yolu
Davranışı kalıtım yoluyla veya başka bir nesneyi içinde tutarak yeniden kullanabilirsiniz. İkinci yaklaşıma bileşim denir.
Tür İlişkisi ve Sahiplik İlişkisi
Kalıtım, bir türdür ilişkisini modeller: Circle, Shape türündedir. Bileşim ise sahiptir ilişkisini modeller: Car, bir Engine barındırır.
Bileşim Kullanan Bir Sınıf
Bileşimde bir yardımcıyı alan olarak saklar ve onu genişletmek yerine işi ona devredersiniz.
class Car {
final Engine engine = Engine();
}Davranışı Devretme
Dış sınıf, çağrıları içindeki nesneye iletir. Bu devretme, kalıtım kullanmadan mantığı yeniden kullanmanızı sağlar.
class Car {
final engine = Engine();
void start() => engine.ignite();
}Kırılgan Temel Sınıf Sorunu
Derin kalıtım yapıları kırılgandır. Bir üst sınıftaki değişiklik, uzaktaki alt sınıfları sessizce bozabilir; bu tuzağa kırılgan temel sınıf denir.
Çalışma Zamanında Esneklik
Bileşim, içteki nesneyi istediğiniz zaman değiştirmenizi sağlar. Kalıtım bir kez sabitlenir, ancak bir alan değiştirilebilir.
class Car {
Engine engine;
Car(this.engine);
}Arayüzlerle Birleştirme
Bileşimi arayüzlerle eşleştirin: soyut bir Engine türüne bağımlı olun; böylece uyumlu her motor sorunsuzca bağlanabilir.
abstract class Engine {
void ignite();
}Sınamak Daha Kolaydır
Parçalar ayrı nesneler olduğundan sınamalar sırasında içeri sahte bir nesne verebilirsiniz. Bileşim, taklit nesne kullanımını basit ve doğal hale getirir.
var car = Car(FakeEngine());Yanlış Şeyleri Kalıtmayın
Alt sınıflar, dışarı sunmamaları gerekenler de dahil olmak üzere her üyeyi kalıtır. Bileşim yalnızca devretmeyi seçtiğiniz şeyleri paylaşır.
Kalıtım Ne Zaman Daha İyidir
Ortak kimliğe sahip açık bir bir türdür bağı varsa kalıtım uygundur. Bağ aslında bir sahiplik ilişkisi olduğunda bileşimi tercih edin.
Uygulamadaki Kural
Varsayılan olarak bileşimi tercih edin ve kalıtımı ölçülü kullanın. Böylece tasarımlar gevşek bağlı ve daha sonra değiştirilmesi kolay olur. 🧩
Hızlı Kontrol
Bileşim hakkında kısa bir soru.
Özet
Bileşim, başka nesneleri içinde tutup onlara iş devrederek sahiplik ilişkisini modeller. Esnek ve sınanabilir kalırken kalıtım, açık tür ilişkilerine uygundur. 👍
Sıkça Sorulan Sorular
“Kalıtım Yerine Birleştirme” dersi ücretsiz mi?
Evet — “Kalıtım Yerine Birleştirme” 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.
“Kalıtım Yerine Birleştirme” dersinde ne öğreneceğim?
Uygun olduğunda sahip-olma tasarımlarını tercih etme 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.
“Kalıtım Yerine Birleştirme” 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
- Soyut Sınıflar ve Soyut Yöntemler
- Örtük Arayüzler ve implements
- Paylaşılan Türlerle Çok Biçimlilik
- Kalıtım Yerine Birleştirme