Хосияти хусусиӣ дар мероси дар ООП дар 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;
}
Боварӣ ҳосил кунед, ки рамзи усул ба хато меорад.