Konstruktor bei Vererbung in OOP in JavaScript
Bei der Vererbung kann der Konstruktor der Elternklasse überschrieben werden. Schauen wir uns ein Beispiel an. Nehmen wir an, wir haben die folgende Elternklasse:
class User {
constructor(name, surn) {
this.name = name;
this.surn = surn;
}
getName() {
return this.name;
}
getSurn() {
return this.surn;
}
}
Nehmen wir an, von der Elternklasse erbt die folgende Klasse:
class Student extends User {
}
Nehmen wir an, wir möchten im Kindklasse den Konstruktor erweitern, indem wir ihm zusätzliche Parameter hinzufügen:
class Student extends User {
constructor(name, surn, year) {
}
}
In diesem Fall müssen wir unbedingt
in der ersten Zeile den Konstruktor
der Elternklasse mit super aufrufen:
class Student extends User {
constructor(name, surn, year) {
super();
}
}
Der Befehl super ist im Wesentlichen
der Konstruktor der Elternklasse. Deshalb
übergeben wir ihm die erforderlichen Parameter:
class Student extends User {
constructor(name, surn, year) {
super(name, surn);
}
}
Nun schreiben wir das Studienjahr in den Kindklasse in eine eigene Eigenschaft:
class Student extends User {
constructor(name, surn, year) {
super(name, surn);
this.year = year;
}
}
Erstellen wir einen Getter für das Studienjahr:
class Student extends User {
constructor(name, surn, year) {
super(name, surn);
this.year = year;
}
getYear() {
return this.year;
}
}
Nehmen wir an, die Klasse Employee erbt
von der Klasse User aus dieser
Lektion.
Überschreiben Sie in der Klasse Employee
den Konstruktor der Elternklasse, indem Sie ihm
Parameter für Alter und Gehalt hinzufügen.
Erstellen Sie Getter für Alter und Gehalt.