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

  1. Egy gyermekosztály konstruktorában, hogy meghívja a bázisosztály konstruktorát és helyesen inicializálja az örökölt tulajdonságokat.

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