Senior
Pastāsti par funkciju super() un kad to izmanto?
sobes.tech AI
Atbilde no AI
super() funkcija klasēs tiek izmantota, lai izsauktu vecāku klases konstruktoru vai vecāka metodes.
Tā tiek piemērota divos galvenajos gadījumos:
-
Bērnu klases konstruktorā, lai izsauktu pamatklases konstruktoru un pareizi inicializētu mantojumā iegūtās īpašības.
-
Lai izsauktu vecāka metodes, ja nepieciešams paplašināt vai pārrakstīt uzvedību, saglabājot daļu no pamatklases loģikas.
Piemērs:
class Animal {
constructor(name) {
this.name = name;
}
speak() {
console.log(`${this.name} izdala skaņu.`);
}
}
class Dog extends Animal {
constructor(name, breed) {
super(name); // izsauc Animal konstruktoru
this.breed = breed;
}
speak() {
super.speak(); // izsauc Animal `speak` metodi
console.log(`${this.name} rej.`);
}
}
Bez super() izsaukšanas bērnu klases konstruktorā, notiks kļūda, jo pamatklase nav inicializēta.