TypeScript ရှိ private modifier
private modifier ကို class ၏ ပြင်ပမှ properties နှင့် methods များကို ဝင်ရောက်ခွင့် ပိတ်ပင်လိုသောအခါများတွင် အသုံးပြုပါသည်။
ဤသို့ဖြင့် မျိုးဆက်အသစ် classes များထဲတွင်ပင် အဆိုပါ properties များကို ရည်ညွှန်း၍မရနိုင်တော့ပါ။
ဥပမာတစ်ခုကို ကြည့်ရအောင်။ User class ထဲတွင် name ဆိုသော private property တစ်ခုကို ပြုလုပ်ကြပါစို့။
class User {
private name: string;
constructor(name: string) {
this.name = name;
}
}
Class ၏ constructor သို့ ကျွန်ုပ်တို့၏ property ၏တန်ဖိုးကို ပေးပို့ကာ class ၏ object တစ်ခုကို ဖန်တီးပါမည်။
let user: User = new User('john');
ယခု class ၏ အပြင်ဘက်မှ ဤ private property ကို ဖတ်ရှုရန် ကြိုးစားမှုသည် error တစ်ခုကို ဖြစ်ပေါ်စေပါမည်။
console.log(user.name); // error
Class ၏ အပြင်ဘက်မှ ဤ property ထဲသို့ တစ်ခုခု ရေးသားရန် ကြိုးစားမှုသည်လည်း error တစ်ခုကို ဖြစ်ပေါ်စေပါမည်။
user.name = 'eric'; // error
�ို့သော် class ၏ methods များအတွင်းတွင်မူ ကျွန်ုပ်တို့၏ private property ၏တန်ဖိုးကို ဖတ်ရှုနိုင်သကဲ့သို့ ပြောင်းလဲနိုင်ပါသည်။
class User {
private name: string;
constructor(name: string) {
this.name = name;
}
public getName() {
return this.name; // property ကို ဖတ်ပါမည်
}
public setName(name: string) {
this.name = name; // property ၏တန်ဖိုးအသစ်ကို ရေးသားပါမည်
}
}
User class တစ်ခုကို ပြုလုပ်ပါ၊ ၎င်းတွင် အမည်နှင့် အသက်အရွယ်တို့ပါဝင်သော private properties များ ပါဝင်ပါစေ။
၎င်းတို့၏ အစပြုတန်ဖိုးများကို constructor မှတစ်ဆင့် သတ်မှတ်ပေးပါစေ။
သင်၏ User class ထဲတွင် getName နှင့် getAge ဆိုသော public methods များကို ပြုလုပ်ပါ၊
၎င်းတို့သည် သက်ဆိုင်ရာ private properties များ၏တန်ဖိုးများကို ရယူရန် ခွင့်ပြုပေးပါစေ။
သင်၏ User class ထဲတွင် setName နှင့် setAge ဆိုသော public methods များကို ပြုလုပ်ပါ၊
၎င်းတို့သည် သက်ဆိုင်ရာ private properties များ၏တန်ဖိုးများကို ပြောင်းလဲရန် ခွင့်ပြုပေးပါစေ။