Privatna svojstva pri nasleđivanju u OOP-u u JavaScript-u
Privatna svojstva se ne nasleđuju. Ali potomak može da manipuliše njima putem javnih metoda roditelja. Hajde da vidimo to u praksi. Neka imamo sledeću roditeljsku klasu sa privatnim svojstvom i njegovim geterom i seterom:
class User {
#name;
setName(name) {
this.#name = name;
}
getName() {
return this.#name;
}
}
Neka od roditelja nasleđuje sledeći potomak:
class Student extends User {
}
Kreirajmo objekat potomka:
let student = new Student;
Iskoristimo metodu roditelja, da bismo upisali njegovo privatno svojstvo:
student.setName('john');
Iskoristimo metodu roditelja, da bismo pročitali njegovo privatno svojstvo:
let name = student.getName();
console.log(name);
Data je sledeća roditeljska klasa:
class User {
#name;
#surn;
setName(name) {
this.#name = name;
}
getName() {
return this.#name;
}
setSurn(surn) {
this.#surn = surn;
}
getSurn() {
return this.#surn;
}
}
Napravite klasu Employee,
koja će nasleđivati
od ovog roditelja.
Kreirajte objekat klase Employee
i pozovite nasleđene
setere i getere.
U klasi Employee napravite
sledeći metod:
getFull() {
return this.#name + ' ' + this.#surn;
}
Uverite se da će kod metoda dovesti do greške.