TypeScript ရှိ private modifier

private modifier ကို class ၏ ပြင်ပမှ properties နှင့် methods များကို ဝင်ရောက်ခွင့် ပိတ်ပင်လိုသောအခါများတွင် အသုံးပြုပါသည်။ ဤသို့ဖြင့် မျိုးဆက်အသစ် classes များထဲတွင်ပင် အဆိုပါ properties များကို ရည်ညွှန်း၍မရနိုင်တော့ပါ။

ဥပမာတစ်ခုကို ကြည့်ရအောင်။ User class ထဲတွင် name ဆိုသော private property တစ်ခုကို ပြုလုပ်ကြပါစို့။

typescriptclass User {
  private name: string;
  
  constructor(name: string) {
    this.name = name;
  }
}

Class ၏ constructor သို့ ကျွန်ုပ်တို့၏ property ၏တန်ဖိုးကို ပေးပို့ကာ class ၏ object တစ်ခုကို ဖန်တီးပါမည်။

typescriptlet user: User = new User('john');

ယခု class ၏ အပြင်ဘက်မှ ဤ private property ကို ဖတ်ရှုရန် ကြိုးစားမှုသည် error တစ်ခုကို ဖြစ်ပေါ်စေပါမည်။

typescriptconsole.log(user.name); // error

Class ၏ အပြင်ဘက်မှ ဤ property ထဲသို့ တစ်ခုခု ရေးသားရန် ကြိုးစားမှုသည်လည်း error တစ်ခုကို ဖြစ်ပေါ်စေပါမည်။

typescriptuser.name = 'eric'; // error

�ို့သော် class ၏ methods များအတွင်းတွင်မူ ကျွန်ုပ်တို့၏ private property ၏တန်ဖိုးကို ဖတ်ရှုနိုင်သကဲ့သို့ ပြောင်းလဲနိုင်ပါသည်။

typescriptclass User {
  private name: string;
  
  constructor(name: string) {
    this.name = name;
  }
  
  public getName() {
    return this.name; // property ကို ဖတ်ပါမည်
  }
  
  public setName(name: string) {
    this.name = name; // property ၏တန်ဖိုးအသစ်ကို ရေးသားပါမည်
  }
}
Задание 1

User class တစ်ခုကို ပြုလုပ်ပါ၊ ၎င်းတွင် အမည်နှင့် အသက်အရွယ်တို့ပါဝင်သော private properties များ ပါဝင်ပါစေ။ ၎င်းတို့၏ အစပြုတန်ဖိုးများကို constructor မှတစ်ဆင့် သတ်မှတ်ပေးပါစေ။

Задание 2

သင်၏ User class ထဲတွင် getName နှင့် getAge ဆိုသော public methods များကို ပြုလုပ်ပါ၊ ၎င်းတို့သည် သက်ဆိုင်ရာ private properties များ၏တန်ဖိုးများကို ရယူရန် ခွင့်ပြုပေးပါစေ။

Задание 3

သင်၏ User class ထဲတွင် setName နှင့် setAge ဆိုသော public methods များကို ပြုလုပ်ပါ၊ ၎င်းတို့သည် သက်ဆိုင်ရာ private properties များ၏တန်ဖိုးများကို ပြောင်းလဲရန် ခွင့်ပြုပေးပါစေ။