JavaScript OOP အတွင်း အမွေဆက်ခံရာတွင် Private Methods များ
Private methods များကို အမွေဆက်ခံ၍မရပါ။ ၎င်းကို encapsulation ကို မထိခိုက်စေရန် အထူးပြုလုပ်ထားခြင်းဖြစ်သည်။ ဥပမာတစ်ခုဖြင့် ကြည့်ကြပါစို့။ ကျွန်ုပ်တို့တွင် private method ပါသော မိဘ class အောက်ပါအတိုင်းရှိသည်ဆိုပါစို့။
class User {
setName(name) {
this.name = name;
}
getName() {
return this.#capeFirst(this.name);
}
#capeFirst(str) {
return str[0].toUpperCase() + str.slice(1);
}
}
မိဘ class မှ အောက်ပါ class က အမွေဆက်ခံသည်ဆိုပါစို့။
class Student extends User {
setSurn(surn) {
this.surn = surn;
}
getSurn() {
return this.surn;
}
}
သားသမီး class က မိဘ၏ private method ကို အသုံးပြုလိုပါက၊ JavaScript က ခွင့်မပြုပဲ error တက်စေမည်ဖြစ်သည်။
class Student extends User {
setSurn(surn) {
this.surn = surn;
}
getSurn() {
return this.#capeFirst(this.surn); // error တက်မည်
}
}
Employee class ထဲတွင် မိဘ၏ private method ကို အသုံးပြုကြည့်ပါ။