Getters pentru proprietăți în OOP în JavaScript

Să presupunem că avem următoarea clasă cu proprietăți private:

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

După cum vedeți, aceste proprietăți sunt setate o dată la crearea obiectului. Însă acum, aceste proprietăți nu pot fi citite, deoarece sunt private și nu există metode corespunzătoare pentru aceasta.

Să creăm pentru proprietățile noastre metode speciale care permit citirea acestor proprietăți. Astfel de metode (numite getters) trebuie să înceapă cu cuvântul get, urmat de numele proprietății care se citește.

Să creăm getters pentru proprietățile noastre:

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

Să verificăm funcționarea lor. Să creăm un obiect, transmitând ca parametru datele utilizatorului:

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

Să citim aceste date, folosind getters:

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

În clasa Employee creați trei proprietăți private: nume, salariu și vârstă.

Задание 2

Transmiteți prin parametrii constructorului valorile acestor proprietăți.

Задание 3

Creați getters care afișează valorile fiecăreia dintre proprietățile noastre.