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