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;
}
Усул коди хатога олиб келишига ишонч ҳосил қилинг.