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:
javascriptclass 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:
javascriptclass Student extends User {
}
Gestel ons wil in die afstammelingklas die konstruktor uitbrei deur bykomende parameters by te voeg:
javascriptclass 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:
javascriptclass 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:
javascriptclass Student extends User {
constructor(name, surn, year) {
super(name, surn);
}
}
Skryf nou die studiejaar in die afstammeling se eie eiendom:
javascriptclass Student extends User {
constructor(name, surn, year) {
super(name, surn);
this.year = year;
}
}
Kom ons maak 'n getter vir die studiejaar:
javascriptclass 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.