Частни свойства при наследяване в ООП в 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;
}
Уверете се, че кодът на метода води до грешка.