Senior
Vorbește despre funcția super() și când o folosești?
sobes.tech AI
Răspuns de la AI
Funcția super() este utilizată în clase pentru a apela constructorul clasei părinte sau metodele părintelui.
Se aplică în două cazuri principale:
-
În constructorul unei clase copil pentru a apela constructorul clasei de bază și pentru o inițializare corectă a proprietăților moștenite.
-
Pentru a apela metodele părintelui, dacă este nevoie să extindeți sau să suprascrieți comportamentul, păstrând totodată o parte din logica clasei de bază.
Exemplu:
class Animal {
constructor(name) {
this.name = name;
}
speak() {
console.log(`${this.name} face un sunet.`);
}
}
class Dog extends Animal {
constructor(name, breed) {
super(name); // apelarea constructorului Animal
this.breed = breed;
}
speak() {
super.speak(); // apelarea metodei speak din Animal
console.log(`${this.name} latră.`);
}
}
Fără apelarea super() în constructorul clasei copil, va apărea o eroare, deoarece clasa de bază nu este inițializată.