Konstruktor öröklődéskor az OOP-ben JavaScriptben

Öröklődéskor felülírhatjuk a szülő konstruktorát. Nézzük meg ezt egy példán keresztül. Tegyük fel, hogy a következő szülő osztályunk van:

javascriptclass User {
  constructor(name, surn) {
    this.name = name;
    this.surn = surn;
  }
  
  getName() {
    return this.name;
  }
  getSurn() {
    return this.surn;
  }
}

Tegyük fel, hogy a szülő osztálytól örököl a következő osztály:

javascriptclass Student extends User {
  
}

Tegyük fel, hogy az utód osztályban ki szeretnénk bővíteni a konstruktort, hozzáadva hozzá további paramétereket:

javascriptclass Student extends User {
  constructor(name, surn, year) {
    
  }
}

Ebben az esetben kötelezően az első sorban meg kell hívnunk a szülő konstruktorát a super segítségével:

javascriptclass Student extends User {
  constructor(name, surn, year) {
    super();
  }
}

A super parancs lényegében a szülő konstruktora. Ezért adjuk át neki a szükséges paramétereket:

javascriptclass Student extends User {
  constructor(name, surn, year) {
    super(name, surn);
  }
}

Most az utódban az tanulmányi évét írjuk az utód saját tulajdonságába:

javascriptclass Student extends User {
  constructor(name, surn, year) {
    super(name, surn);
    this.year = year;
  }
}

Készítsünk gettert a tanulmányi évhez:

javascriptclass Student extends User {
  constructor(name, surn, year) {
    super(name, surn);
    this.year = year;
  }
  
  getYear() {
    return this.year;
  }
}
Задание 1

Tegyük fel, hogy a Employee osztály örököl a User osztálytól ebből a leckéből.

Задание 2

Írja felül a Employee osztályban a szülő konstruktorát, hozzáadva ahhoz paramétereket a korral és a fizetéssel.

Задание 3

Készítsen gettereket a korhoz és a fizetéshez.