Kalıtım, super ve composition'ı Ne Zaman Tercih Etmeli
extends ile bir temel sınıfı genişletin, constructor'larda super çağırın, yöntemleri güvenle geçersiz kılın ve basit composition'ın ne zaman daha iyi olduğunu öğrenin.
Kalıtım, super ve composition'ı Ne Zaman Tercih Etmeli, CoddyKit'te ücretsiz bir JavaScript Academy dersidir. Bu, 3 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, JavaScript Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. JavaScript Academy kursu toplamda 3 dersten oluşur.
Büyük resim
Amaç: Temel kalıtımı karışıklık yaratmadan kullanmak.
- extends bir alt sınıf oluşturur
- super(...) üst sınıf oluşturucusunu çağırır
- Bir yöntemi geçersiz kılın; isteğe bağlı olarak super.method() çağırın
- İlişki bir “türüdür” ilişkisi değilse bileşimi tercih edin

extends ve super
extends ile bir alt sınıf oluşturun; üst sınıf oluşturucusunu çalıştırmak ve this'i hazırlamak için super(name) çağırın.
// Base class with a small field and method
class Animal {
constructor(name) {
this.name = name;
}
info() {
return "Animal:" + this.name;
}
}
// Child class extends the base and calls super(...)
class Dog extends Animal {
constructor(name, breed) {
// must call super() before using this
super(name);
this.breed = breed;
}
speak() {
return "woof";
}
}
const d = new Dog("Milo", "Beagle");
console.log(d.info(), d.speak());

Yöntemi geçersiz kılma
Bir yöntemi geçersiz kılarken temel mantığı yeniden kullanmak için super.method() çağırabilir, ardından kendi değişikliğinizi ekleyebilirsiniz.
// Override a method; keep parent behavior with super.method()
class Button {
click() {
return "base-click";
}
}
class IconButton extends Button {
click() {
// call parent behavior, then add something
const base = super.click();
return base + "+icon";
}
}
const b = new IconButton();
console.log(b.click()); // "base-click+icon"

Bir şeye sahip olma durumunda bileşimi tercih edin
İlişki bir yardımcı kullanma biçimindeyse, sınıfları basit tutmak için kalıtım yerine bileşimi tercih edin.
// Composition: use a helper object instead of extending
class Logger {
log(msg) {
console.log("[log]", msg);
}
}
class Player {
constructor(name, logger) {
this.name = name;
this.logger = logger; // has-a logger
}
score(points) {
this.logger.log(this.name + " +" + points);
}
}
const logger = new Logger();
const p = new Player("Ayla", logger);
p.score(5);

Tür ilişkisi ve sahiplik ilişkisi
Kalıtım, bir türüdür ilişkisini modeller: bir Dog, Animal türüdür. Bileşim ise sahiplik ilişkisine dayanan yardımcılar içindir.
// Use instanceof for a quick is-a check
console.log("Dog is Animal?", d instanceof Animal);
console.log("Player is Animal?", p instanceof Animal);

Başlangıç düzeyi alışkanlıkları
İpuçları:
- Başlangıç düzeyindeki öğrenciler için hiyerarşileri sığ tutun.
- Alt sınıf oluşturucularında önce super(...) çağırın.
- Yalnızca gerekenleri geçersiz kılın; super.method() ile yeniden kullanın.
- Yardımcılar ve sınıflar arası özellikler için bileşimi tercih edin.

super(...) temelleri sınaması
Kısa kontrol: Alt sınıf oluşturucusunda super.

Özet
Özet: Gerçek bir tür ilişkisi için extends kullanın, super(...)'ı erkenden çağırın, geçersiz kılma işlemlerini dikkatle yapın (yararlı olduğunda super.method() çağırın) ve yardımcılar için bileşimi tercih edin.

Sıkça Sorulan Sorular
“Kalıtım, super ve composition'ı Ne Zaman Tercih Etmeli” dersi ücretsiz mi?
Evet — “Kalıtım, super ve composition'ı Ne Zaman Tercih Etmeli” 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 JavaScript Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. JavaScript Academy kursu toplamda 3 dersten oluşur.
“Kalıtım, super ve composition'ı Ne Zaman Tercih Etmeli” dersinde ne öğreneceğim?
extends ile bir temel sınıfı genişletin, constructor'larda super çağırın, yöntemleri güvenle geçersiz kılın ve basit composition'ın ne zaman daha iyi olduğunu öğrenin. JavaScript 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.
JavaScript Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te JavaScript 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, 3 dersinin 2. dersidir.
“Kalıtım, super ve composition'ı Ne Zaman Tercih Etmeli” 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 JavaScript Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her JavaScript 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
- Sınıf Alanları, Özel # Alanları, static Üyeler
- Kalıtım, super ve composition'ı Ne Zaman Tercih Etmeli
- Karışımlar (Kısa Tanıtım) — Derin Hiyerarşiler Olmadan Basit Yeniden Kullanım