Senior
super() fonksiyonundan bahset ve ne zaman kullanırsın?
sobes.tech yapay zeka
AI'dan gelen yanıt
super() fonksiyonu, sınıflarda ebeveyn sınıfın yapıcı metodunu veya ebeveyn metodlarını çağırmak için kullanılır.
İki ana durumda kullanılır:
-
Alt sınıfın yapıcısında, temel sınıfın yapıcısını çağırmak ve kalıtılan özelliklerin doğru şekilde başlatılmasını sağlamak için.
-
Ebeveyn metodlarını çağırmak için, davranışı genişletmek veya geçersiz kılmak gerekirse, ancak temel sınıfın bir kısmı mantığını koruyarak.
Örnek:
class Animal {
constructor(name) {
this.name = name;
}
speak() {
console.log(`${this.name} ses çıkarıyor.`);
}
}
class Dog extends Animal {
constructor(name, breed) {
super(name); // Animal yapıcısını çağır
this.breed = breed;
}
speak() {
super.speak(); // Animal'dan speak metodunu çağır
console.log(`${this.name} havlıyor.`);
}
}
Alt sınıfın yapıcısında super() çağrısı olmadan, temel sınıf başlatılmadığı için hata olur.