Senior
Räägi super() funktsioonist ja millal seda kasutad?
sobes.tech AI
Vastus AI-lt
super() funktsioon kasutatakse klassides vanemklassi konstruktorit või vanemklassi meetodeid kutsumiseks.
Seda rakendatakse kahes peamises olukorras:
-
Alamsklassi konstruktoris, et kutsuda põhiklassi konstruktor ja õigesti initsialiseerida pärandatud omadused.
-
Vanemklassi meetodite kutsumiseks, kui soovitakse laiendada või üle kirjutada käitumist, säilitades osa põhiklassi loogikast.
Näide:
class Animal {
constructor(name) {
this.name = name;
}
speak() {
console.log(`${this.name} teeb heli.`);
}
}
class Dog extends Animal {
constructor(name, breed) {
super(name); // kutsutakse Animal konstruktor
this.breed = breed;
}
speak() {
super.speak(); // kutsutakse Animal `speak` meetod
console.log(`${this.name} haukub.`);
}
}
Ilma super() kutsumiseta alamsklassi konstruktoris, tekib viga, kuna põhiklass ei ole initsialiseeritud.