Privačios savybės paveldėjime OOP JavaScripte
Privačios savybės nepaveldimos. Tačiau palikuonis gali jomis manipuliuoti per tėvinius viešuosius metodus. Pažiūrėkime tai praktiškai. Tarkime, turime šią tėvinę klasę su privacia savybe ir jos getter'iu ir setter'iu:
javascriptclass User {
#name;
setName(name) {
this.#name = name;
}
getName() {
return this.#name;
}
}
Tarkime, iš tėvo paveldi šis palikuonis:
javascriptclass Student extends User {
}
Sukurkime palikuonio objektą:
javascriptlet student = new Student;
Naudokimės tėvo metodu, kad įrašytume jo privatų savybę:
javascriptstudent.setName('john');
Naudokimės tėvo metodu, kad nuskaitytume jo privatų savybę:
javascriptlet name = student.getName();
console.log(name);
Задание 1
Duota ši tėvinė klasė:
javascriptclass User {
#name;
#surn;
setName(name) {
this.#name = name;
}
getName() {
return this.#name;
}
setSurn(surn) {
this.#surn = surn;
}
getSurn() {
return this.#surn;
}
}
Sukurkite klasę Employee,
kuri paveldės
iš šio tėvo.
Задание 2
Sukurkite Employee klasės objektą
ir iškviškite paveldėtus
setter'ius ir getter'ius.
Задание 3
Employee klasėje sukurkite
šį metodą:
javascriptgetFull() {
return this.#name + ' ' + this.#surn;
}
Įsitikinkite, kad metodo kodas sukels klaidą.