Privaatmetodes by Oorerwing in OOP in JavaScript
Privaatmetodes word nie geërf nie. Dit is doelbewus gedoen om nie inkapsulering te skend nie. Kom ons kyk na 'n voorbeeld. Laat ons sê ons het die volgende ouer klas met 'n private metode:
javascriptclass User {
setName(name) {
this.name = name;
}
getName() {
return this.#capeFirst(this.name);
}
#capeFirst(str) {
return str[0].toUpperCase() + str.slice(1);
}
}
Laat ons sê die volgende klas erf van die ouerklas:
javascriptclass Student extends User {
setSurn(surn) {
this.surn = surn;
}
getSurn() {
return this.surn;
}
}
Laat ons sê die nageslag wil die privaatmetode van die ouer gebruik. JavaScript sal dit nie toelaat nie en sal 'n fout gee:
javascriptclass Student extends User {
setSurn(surn) {
this.surn = surn;
}
getSurn() {
return this.#capeFirst(this.surn); // sal 'n fout gee
}
}
Задание 1
Probeer om in die klas Employee
die privaatmetode van die
ouer te gebruik.