JavaScript-da OOB da Meros Olishda Shaxsiy Usullar
Shaxsiy usullar meros qilib olinmaydi. Bu maxsus ravishda inkapsulyatsiyani buzmaslik uchun qilingan. Keling, bir misol bilan ko'rib chiqaylik. Faraz qilaylik, bizda shaxsiy usuli bo'lgan quyidagi ota-ona klass mavjud:
class User {
setName(name) {
this.name = name;
}
getName() {
return this.#capeFirst(this.name);
}
#capeFirst(str) {
return str[0].toUpperCase() + str.slice(1);
}
}
Faraz qilaylik, ota-ona klassidan quyidagi klass meros qilib oladi:
class Student extends User {
setSurn(surn) {
this.surn = surn;
}
getSurn() {
return this.surn;
}
}
Faraz qilaylik, avlod ota-onaning shaxsiy usulidan foydalanishni xohlaydi. JavaScript buni ruxsat bermaydi va xatolik qaytaradi:
class Student extends User {
setSurn(surn) {
this.surn = surn;
}
getSurn() {
return this.#capeFirst(this.surn); // xatolik yuz beradi
}
}
Employee klassida ota-onaning shaxsiy usulidan foydalanishga harakat qiling.