Getters vlastností v OOP v JavaScripte
Majme nasledujúcu triedu s privátnymi vlastnosťami:
class 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:
class 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:
let user = new User('john', 'smit');
Prečítajme si tieto údaje pomocou getters:
console.log(user.getName());
console.log(user.getSurn());
V triede Employee vytvorte
tri privátne vlastnosti: meno, plat
a vek.
Odovzdajte parametrom konštruktora hodnoty týchto vlastností.
Vytvorte getters, ktoré vypíšu hodnoty každej z našich vlastností.