Приватна својства при наслеђивању у ООП-у у JavaScript-у
Приватна својства се не наслеђују. Али потомак може да манипулише њима преко јавних метода родитеља. Хајде да видимо у пракси. Нека имамо следећу родитељску класу са приватним својством и њеним гетером и сетером:
class User {
#name;
setName(name) {
this.#name = name;
}
getName() {
return this.#name;
}
}
Нека од родитеља наслеђује следећи потомак:
class Student extends User {
}
Направимо објекат потомка:
let student = new Student;
Искористимо метод родитеља, да бисмо уписали његово приватно својство:
student.setName('john');
Искористимо метод родитеља, да бисмо прочитали његово приватно својство:
let name = student.getName();
console.log(name);
Дата је следећа родитељска класа:
class User {
#name;
#surn;
setName(name) {
this.#name = name;
}
getName() {
return this.#name;
}
setSurn(surn) {
this.#surn = surn;
}
getSurn() {
return this.#surn;
}
}
Направите класу Employee,
која ће наслеђивати
од овог родитеља.
Направите објекат класе Employee
и позовите наслеђене
сетере и гетере.
У класи Employee направите
следећи метод:
getFull() {
return this.#name + ' ' + this.#surn;
}
Уверите се да код метода доводи до грешке.