Getters vlastností v OOP v JavaScriptu

Předpokládejme, že máme následující třídu s privátními vlastnostmi:

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

Jak vidíte, tyto vlastnosti jsou nastaveny jednou při vytváření objektu. V současné době však tyto vlastnosti nelze přečíst, protože jsou privátní a neexistují odpovídající metody pro to.

Pojďme pro naše vlastnosti vytvořit speciální metody, které umožní číst tyto vlastnosti. Takové metody (nazývané getters) by měly začínat slovem get, za kterým následuje název čtené vlastnosti.

Pojďme vytvořit getters našich vlastností:

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

Pojďme ověřit jejich funkčnost. Vytvořme objekt, předáním parametrů s daty uživatele:

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

Přečtěme tato data pomocí getters:

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

Ve třídě Employee vytvořte tři privátní vlastnosti: jméno, plat a věk.

Задание 2

Předejte parametrem konstruktoru hodnoty těchto vlastností.

Задание 3

Vytvořte getters, které vypisují hodnoty každé z našich vlastností.