JavaScript-da OOP-da Meros Olishda Privat Xususiyatlar
Privat xususiyatlar meros qilib olinmaydi. Ammo voris ular bilan ota-onaning ochiq metodlari orqali manipulyatsiya qilishi mumkin. Keling, amalda ko'rib chiqaylik. Faraz qilaylik, bizda quyidagi ota-ona sinfi privyat xususiyat va uning getter va setter bilan mavjud:
class User {
#name;
setName(name) {
this.#name = name;
}
getName() {
return this.#name;
}
}
Faraz qilaylik, ota-onadan quyidagi voris meros oladi:
class Student extends User {
}
Voris obyektini yaratamiz:
let student = new Student;
Uning privat xususiyatini yozish uchun ota-ona metodidan foydalanamiz:
student.setName('john');
Uning privat xususiyatini o'qish uchun ota-ona metodidan foydalanamiz:
let name = student.getName();
console.log(name);
Quyidagi ota-ona sinfi berilgan:
class User {
#name;
#surn;
setName(name) {
this.#name = name;
}
getName() {
return this.#name;
}
setSurn(surn) {
this.#surn = surn;
}
getSurn() {
return this.#surn;
}
}
Employee sinfini yarating,
u bu ota-onadan meros oladi.
Employee sinfining obyektini yarating
va meros qilib olingan setter va getterlarni
chaqiring.
Employee sinfida quyidagi metodni
qiling:
getFull() {
return this.#name + ' ' + this.#surn;
}
Metod kodining xatolikka olib kelishiga ishonch hosil qiling.