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 буни рухсат бермайди ва хатолик берadi:
class Student extends User {
setSurn(surn) {
this.surn = surn;
}
getSurn() {
return this.#capeFirst(this.surn); // хатолик булади
}
}
Employee синфида ота-онанинг хусусий методидан
фойдаланиб кўринг.