Konstruktor by oorerwing in OOP in JavaScript
By oorerwing kan jy die ouer se konstruktor oor skryf. Kom ons kyk na 'n voorbeeld. Gestel ons het die volgende ouer klas:
class User {
constructor(name, surn) {
this.name = name;
this.surn = surn;
}
getName() {
return this.name;
}
getSurn() {
return this.surn;
}
}
Gestel die volgende klas erf van die ouerklas:
class Student extends User {
}
Gestel ons wil in die afstammelingklas die konstruktor uitbrei deur bykomende parameters by te voeg:
class Student extends User {
constructor(name, surn, year) {
}
}
In hierdie geval moet ons
verplig in die eerste reël
die ouer se konstruktor oproep
via super:
class Student extends User {
constructor(name, surn, year) {
super();
}
}
Die opdrag super is in wese
die ouer se konstruktor. Laat ons
dus die vereiste parameters daarin
oordra:
class Student extends User {
constructor(name, surn, year) {
super(name, surn);
}
}
Skryf nou die studiejaar in die afstammeling se eie eiendom:
class Student extends User {
constructor(name, surn, year) {
super(name, surn);
this.year = year;
}
}
Kom ons maak 'n getter vir die studiejaar:
class Student extends User {
constructor(name, surn, year) {
super(name, surn);
this.year = year;
}
getYear() {
return this.year;
}
}
Gestel klas Employee erf
van klas User uit hierdie
les.
Oor skryf in die klas Employee
die ouer se konstruktor deur 'n
parameter met ouderdom en salaris by te voeg.
Maak getters vir ouderdom en salaris.