Прыватныя ўласцівасці пры наследаванні ў ААП у 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;
}
Пераканайцеся, што код метаду прывядзе да памылкі.