Getters vlastností v OOP v JavaScripte

Majme nasledujúcu triedu s privátnymi vlastnosťami:

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

Ako vidíte, tieto vlastnosti sa nastavujú raz pri vytvorení objektu. Momentálne však tieto vlastnosti nie je možné prečítať, pretože sú privátne a neexistujú zodpovedajúce metódy na to.

Vytvorme pre naše vlastnosti špeciálne metódy, ktoré umožňujú čítať tieto vlastnosti. Takéto metódy (nazývané getters) by mali začínať slovom get, za ktorým nasleduje názov čítanej vlastnosti.

Vytvorme getters pre naše vlastnosti:

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

Overme si ich fungovanie. Vytvorme objekt, parametrom odovzdajme údaje používateľa:

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

Prečítajme si tieto údaje pomocou getters:

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

V triede Employee vytvorte tri privátne vlastnosti: meno, plat a vek.

Задание 2

Odovzdajte parametrom konštruktora hodnoty týchto vlastností.

Задание 3

Vytvorte getters, ktoré vypíšu hodnoty každej z našich vlastností.