Privát tulajdonságok öröklődéskor az OOP-ben JavaScriptben
A privát tulajdonságok nem öröklődnek. De az utód manipulálhatja azokat a szülő nyilvános metódusain keresztül. Nézzük meg a gyakorlatban. Tegyük fel, hogy a következő szülő osztályunk van privát tulajdonsággal és annak getterével és setterével:
class User {
#name;
setName(name) {
this.#name = name;
}
getName() {
return this.#name;
}
}
Tegyük fel, hogy a szülőtől örököl a következő utód:
class Student extends User {
}
Hozzunk létre egy utód objektumot:
let student = new Student;
Használjuk a szülő metódusát, hogy beállítsuk annak privát tulajdonságát:
student.setName('john');
Használjuk a szülő metódusát, hogy kiolvassuk annak privát tulajdonságát:
let name = student.getName();
console.log(name);
Adott a következő szülő osztály:
class User {
#name;
#surn;
setName(name) {
this.#name = name;
}
getName() {
return this.#name;
}
setSurn(surn) {
this.#surn = surn;
}
getSurn() {
return this.#surn;
}
}
Készítsen egy Employee osztályt,
amely örököl
ettől a szülőtől.
Hozzon létre egy objektumot a Employee osztályból
és hívja meg az örökölt
settereket és gettereket.
A Employee osztályban készítse el
a következő metódust:
getFull() {
return this.#name + ' ' + this.#surn;
}
Győződjön meg róla, hogy a metódus kódja hibához vezet.