Геттери својстава у ООП у ЈаваСкрипту

Нека имамо следећу класу са приватним својствима:

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

Направите геттере који исписују вредности сваког од наших својстава.