Sobes.tech
Senior

super() funksiyası haqqında danış və onu nə vaxt istifadə edirsən?

sobes.tech Süni İntellekt

AI-dan cavab

super() funksiyası siniflərdə valideyn sinfin konstruktorunu və ya valideyn metodlarını çağırmaq üçün istifadə olunur.

Əsasən iki halda tətbiq edilir:

  1. Uşaq sinfinin konstruktorunda, əsas sinfin konstruktorunu çağırmaq və miras alınan xüsusiyyətlərin düzgün şəkildə başlanğıcını təmin etmək üçün.

  2. Valideyn metodlarını çağırmaq üçün, əgər davranışı genişləndirmək və ya yenidən yazmaq lazımdırsa, lakin əsas sinfin logikasının bir hissəsini saxlamaq üçün.

Nümunə:

class Animal {
  constructor(name) {
    this.name = name;
  }
  speak() {
    console.log(`${this.name} səs çıxarır.`);
  }
}

class Dog extends Animal {
  constructor(name, breed) {
    super(name); // Animal konstruktorunu çağır
    this.breed = breed;
  }
  speak() {
    super.speak(); // Animal-dan speak metodunu çağır
    console.log(`${this.name} havlayır.`);
  }
}

Uşaq sinfinin konstruktorunda super() çağırılmadan, səhv baş verəcək, çünki əsas sinif başlanğıc almamış olacaq.