JavaScript တွင် OOP အတွက် Setter နှင့် Getter ၏ အကျိုးကျေးဇူးများ

ယခင်သင်ခန်းစာတွင် ကျွန်ုပ်တို့သည် property တစ်ခုစီအတွက် getter နှင့် setter များ ပြုလုပ်ခဲ့သည်။ မေးခွန်းထွက်ပေါ်လာနိုင်သည်မှာ၊ ဤကဲ့သို့ ရှုပ်ထွေးမှုများ မလိုအပ်ပါ၊ အမှန်တကယ်တွင် တူညီသော ရလဒ်ကို property များကို private အစား public အဖြစ် သတ်မှတ်ခြင်းဖြင့် ရရှိနိုင်သည်။

ကိစ္စမှာ၊ getter နှင့် setter များတွင် အကျိုးကျေးဇူးရှိသည်- property တစ်ခုကို ဝင်ရောက်အသုံးပြုမှု မပြုမီ စစ်ဆေးချက်အချို့ကို လုပ်ဆောင်နိုင်သည်။ ဥပမာအားဖြင့်၊ ကျွန်ုပ်တို့၏ အခြေအနေတွင် ကျွန်ုပ်တို့သည် အမည်နှင့် သူမျိုးရိုးအမည် ရေးသားသည့်အခါ စစ်ဆေးနိုင်သည်၊ အသစ်သတ်မှတ်မည့်တန်ဖိုးသည် ဗလာစာကြောင်း မဟုတ်ကြောင်း-

javascriptclass User {
  #name;
  #surn;
  
  setName(name) {
    if (name.length > 0) {
      this.#name = name;
    } else {
      throw new Error('name is incorrect');
    }
  }
  setSurn(surn) {
    if (surn.length > 0) {
      this.#surn = surn;
    } else {
      throw new Error('surn is incorrect');
    }
  }
  
  getName() {
    return this.#name;
  }
  getSurn() {
    return this.#surn;
  }
}

ဤအရာသည် မည်သို့အလုပ်လုပ်သည်ကို စမ်းကြည့်ကြပါစို့။ ပထမဆုံးအနေနှင့် class ၏ object တစ်ခုကို ဖန်တီးကြမည်-

javascriptlet user = new User;

ယခု မှန်ကန်သော တန်ဖိုးကို ရေးသားရန် ကြိုးစားကြည့်ကြမည်-

javascriptuser.setName('john');

ယခု မမှန်ကန်သောတန်ဖိုးကို ရေးသားရန် ကြိုးစားကြည့်ကြမည်-

javascriptuser.setName(''); // error
Задание 1

Employee class အတွင်း setter တွင် အသက်အရွယ်အတွက် စစ်ဆေးချက်ပြုလုပ်ပါ၊ အသက်သည် 0 မှ 120 ကြားရှိရမည်။

Задание 2

Employee class အတွင်း getter တွင် လစာကို ဖတ်သည့်အခါ လစာ၏တန်ဖိုး အဆုံးသတ်တွင် ဒေါ်လာသင်္ကေတ ထည့်ပေးရန် ပြုလုပ်ပါ။