Sobes.tech
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:

  1. 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.

  2. 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.