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:
class 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:
class 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:
class 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:
class 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:
class 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:
class Student extends User {
constructor(name, surn, year) {
super(name, surn);
this.year = year;
}
}
Készítsünk gettert a tanulmányi évhez:
class Student extends User {
constructor(name, surn, year) {
super(name, surn);
this.year = year;
}
getYear() {
return this.year;
}
}
Tegyük fel, hogy a Employee osztály örököl
a User osztálytól ebből a
leckéből.
Írja felül a Employee osztályban
a szülő konstruktorát, hozzáadva ahhoz
paramétereket a korral és a fizetéssel.
Készítsen gettereket a korhoz és a fizetéshez.