Геттерҳои хусусиятҳо дар ООП дар JavaScript

Бигзор мо синфи зеринро бо хусусиятҳои хусусӣ дошта бошем:

javascriptclass User {
  #name;
  #surn;
  
  constructor(name, surn) {
    this.#name = name;
    this.#surn = surn;
  }
}

Чуноне ки шумо мебинед, ин хусусиятҳо як маротиба дар замони сохтани объект муқаррар карда мешаванд. Аммо ҳоло, хондани ин хусусиятҳо имконнопазир аст, зеро онҳо хусусӣ мебошанд ва методҳои мувофиқ барои ин вуҷуд надоранд.

Биёед барои хусусиятҳои мо методҳои махсус созем, ки имкон медиҳанд ин хусусиятҳоро хонда тавонем. Чунин методҳо (онҳоро геттер меноманд) бояд бо калимаи get оғоз шаванд, ва сипас бояд номи хусусияти хондашаванда ояд.

Биёед геттерҳои хусусиятҳои моро созем:

javascriptclass User {
  #name;
  #surn;
  
  constructor(name, surn) {
    this.#name = name;
    this.#surn = surn;
  }
  
  getName() {
    return this.#name;
  }
  
  getSurn() {
    return this.#surn;
  }
}

Биёед кори онҳоро санҷем. Як объект созем, параметрҳо бо додаҳои корбарро гузаронем:

javascriptlet user = new User('john', 'smit');

Ин додаҳоро бо истифода аз геттерҳо хонем:

javascriptconsole.log(user.getName());
console.log(user.getSurn());
Задание 1

Дар синфи Employee се хусусияти хусусӣ созем: ном, маоҳ ва синну сол.

Задание 2

Қиматҳои ин хусусиятҳоро параметр ба конструктор гузаронед.

Задание 3

Геттерҳое созед, ки қиматҳои ҳар яке аз хусусиятҳои моро чоп кунанд.