Privačieji metodai paveldėjimo metu OOP JavaScript
Privačieji metodai nepaveldimi. Tai padaryta specialiai, kad nebūtų pažeidžiama inkapsuliacija. Pažiūrėkime pavyzdžiu. Tarkime, kad turime šį tėvinį klasę su privačiu metodu:
class User {
setName(name) {
this.name = name;
}
getName() {
return this.#capeFirst(this.name);
}
#capeFirst(str) {
return str[0].toUpperCase() + str.slice(1);
}
}
Tarkime, kad iš tėvinės klasės paveldi ši klasė:
class Student extends User {
setSurn(surn) {
this.surn = surn;
}
getSurn() {
return this.surn;
}
}
Tarkime, kad palikuonis nori pasinaudoti tėvo privačiu metodu. JavaScript to neleis ir išmes klaidą:
class Student extends User {
setSurn(surn) {
this.surn = surn;
}
getSurn() {
return this.#capeFirst(this.surn); // bus klaida
}
}
Pabandykite klasėje Employee
pasinaudoti tėvo privačiu metodu.