Gettery akcesorów w OOP w JavaScript

Przyjrzyjmy się bliżej zastosowaniu getterów właściwości-akcesorów. Załóżmy, że mamy następującą klasę z właściwością prywatną:

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

Zróbmy w tej klasie właściwość publiczną name, którą będzie można odczytać, ale nie będzie można jej zapisać:

javascriptclass User {
  #name;
  
  constructor(name) {
    this.#name = name;
  }
  
  get name() {
    return this.#name;
  }
}

Sprawdźmy działanie. Utwórzmy obiekt naszej klasy, przekazując mu parametrem wartość imienia:

javascriptlet user = new User('john');

A teraz odczytajmy imię przez właściwość publiczną:

javascriptlet name = user.name;
console.log(name);

Zaś próba zapisania imienia doprowadzi do błędu, tak jak tego chcieliśmy:

javascriptuser.name = 'eric';
Задание 1

Zaimplementuj gettery akcesorów dla właściwości klasy Employee.