Senior
Ispričaj o funkciji super() i kada je koristiš?
sobes.tech АИ
Одговор од АИ
Funkcija super() se koristi u klasama za pozivanje konstruktora roditeljske klase ili metoda roditelja.
Primjenjuje se u dva glavna slučaja:
-
U konstruktoru podklase za pozivanje konstruktora osnovne klase i ispravnu inicijalizaciju nasleđenih svojstava.
-
Za pozivanje metoda roditelja, ako je potrebno proširiti ili prepisati ponašanje, ali pritom sačuvati deo logike osnovne klase.
Primer:
class Animal {
constructor(name) {
this.name = name;
}
speak() {
console.log(`${this.name} pravi zvuk.`);
}
}
class Dog extends Animal {
constructor(name, breed) {
super(name); // pozivanje konstruktora Animal
this.breed = breed;
}
speak() {
super.speak(); // pozivanje metode speak iz Animal
console.log(`${this.name} laje.`);
}
}
Bez poziva super() u konstruktoru podklase, doći će do greške, jer osnovna klasa nije inicijalizovana.