Прыватныя метады пры наследаванні ў ААП у JavaScript
Прыватныя метады не наследуются. Гэта зроблена спецыяльна, каб не парушаць інкапсуляцыю. Давайце паглядзім на прыкладзе. Хай у нас ёсць наступны бацькоўскі клас з прыватным метадам:
class User {
setName(name) {
this.name = name;
}
getName() {
return this.#capeFirst(this.name);
}
#capeFirst(str) {
return str[0].toUpperCase() + str.slice(1);
}
}
Хай ад бацькоўскага класа наследуе наступны клас:
class Student extends User {
setSurn(surn) {
this.surn = surn;
}
getSurn() {
return this.surn;
}
}
Хай нашчадак хоча скарыстацца прыватным метадам бацькі. JavaScript гэта не дазволіць і выдасць памылку:
class Student extends User {
setSurn(surn) {
this.surn = surn;
}
getSurn() {
return this.#capeFirst(this.surn); // будзе памылка
}
}
Паспрабуйце ў класе Employee
скарыстацца прыватным метадам
бацькі.