Приватни својства при наследувањето во ООП во JavaScript
Приватните својства не се наследуваат. Но потомокот може да манипулира со нив преку јавните методи на родителот. Ајде да видиме како тоа функционира во пракса. Да претпоставиме дека имаме следнава родителска класа со приватно својство и негов гетер и сетер:
javascriptclass User {
#name;
setName(name) {
this.#name = name;
}
getName() {
return this.#name;
}
}
Да претпоставиме дека од родителот наследува следниов потомок:
javascriptclass Student extends User {
}
Да креираме објект од потомокот:
javascriptlet student = new Student;
Да го искористиме методот на родителот за да ја запишеме неговата приватна својство:
javascriptstudent.setName('john');
Да го искористиме методот на родителот за да ја прочитаме неговата приватна својство:
javascriptlet name = student.getName();
console.log(name);
Дадена е следнава родителска класа:
javascriptclass User {
#name;
#surn;
setName(name) {
this.#name = name;
}
getName() {
return this.#name;
}
setSurn(surn) {
this.#surn = surn;
}
getSurn() {
return this.#surn;
}
}
Направете класа Employee,
која ќе наследува
од овој родител.
Создајте објект од класата Employee
и повикајте ги наследуваните
сетери и гетери.
Во класата Employee направете
следниов метод:
javascriptgetFull() {
return this.#name + ' ' + this.#surn;
}
Проверете дали кодот на методот ќе резултира со грешка.