JavaScript OOP-де мұрагерліктегі жеке әдістер
Жеке әдістер мұраланбайды. Бұл инкапсуляцияны бұзбау үшін арнайы жасалған. Мысалға қарайық. Бізде келесі ата-ана класы жеке әдіспен бар делік:
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 класында ата-ананың жеке әдісін
пайдаланып көріңіз.