Sobes.tech
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:

  1. În constructorul unei clase copil pentru a apela constructorul clasei de bază și pentru o inițializare corectă a proprietăților moștenite.

  2. 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ă.