Getter svojstava u OOP u JavaScriptu
Neka imamo sledeću klasu sa privatnim svojstvima:
class User {
#name;
#surn;
constructor(name, surn) {
this.#name = name;
this.#surn = surn;
}
}
Kao što vidite, ova svojstva se zadaju jednom prilikom kreiranja objekta. Međutim, trenutno ova svojstva je nemoguće pročitati, pošto su privatna i ne postoje odgovarajući metodi za to.
Hajde da napravimo za naša svojstva specijalne
metode koje omogućavaju čitanje ovih svojstava.
Takve metode (koje se nazivaju getter) treba da
počinju sa rečju get, a zatim treba da
ide naziv svojstva koje se čita.
Hajde da napravimo gettere za naša svojstva:
class User {
#name;
#surn;
constructor(name, surn) {
this.#name = name;
this.#surn = surn;
}
getName() {
return this.#name;
}
getSurn() {
return this.#surn;
}
}
Hajde da proverimo njihov rad. Kreirajmo objekat, prosleđujući podatke korisnika kao parametar:
let user = new User('john', 'smit');
Pročitajmo ove podatke, koristeći gettere:
console.log(user.getName());
console.log(user.getSurn());
U klasi Employee napravite
tri privatna svojstva: ime, platu
i godine.
Prosledite kao parametar konstruktora vrednosti ovih svojstava.
Napravite gettere koji ispisuju vrednosti svakog od naših svojstava.