Senior
Beszélj a super() funkcióról és arról, mikor használod?
sobes.tech MI
Válasz az MI-től
A super() függvényt osztályokban arra használják, hogy meghívják a szülőosztály konstruktorát vagy a szülő módszereit.
Két fő esetben alkalmazzák:
-
Egy gyermekosztály konstruktorában, hogy meghívja a bázisosztály konstruktorát és helyesen inicializálja az örökölt tulajdonságokat.
-
A szülő módszereinek meghívására, ha a viselkedést bővíteni vagy felülírni kell, miközben megőrzi a bázisosztály egy részének logikáját.
Példa:
class Animal {
constructor(name) {
this.name = name;
}
speak() {
console.log(`${this.name} hangot ad ki.`);
}
}
class Dog extends Animal {
constructor(name, breed) {
super(name); // az Animal konstruktorának meghívása
this.breed = breed;
}
speak() {
super.speak(); // az Animal `speak` metódusának meghívása
console.log(`${this.name} ugat.`);
}
}
Szuper() hívása nélkül a gyermekosztály konstruktorában hiba lép fel, mivel a bázisosztály nincs inicializálva.