Getterji lastnosti v OOP v JavaScript

Recimo, da imamo naslednji razred z zasebnimi lastnostmi:

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

Kot lahko vidite, so te lastnosti nastavljene enkrat pri ustvarjanju objekta. Trenutno pa teh lastnosti ni mogoče prebrati, saj so zasebne in ni ustreznih metod za to.

Ustvarimo za naše lastnosti posebne metode, ki omogočajo branje teh lastnosti. Takšne metode (imenujemo jih getterji) naj se začnejo z besedo get, čemur naj sledi ime lastnosti, ki se bere.

Ustvarimo getterje za naše lastnosti:

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

Preverimo njihovo delovanje. Ustvarimo objekt in mu kot parameter posredujmo podatke uporabnika:

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

Preberimo te podatke z uporabo getterjev:

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

V razredu Employee ustvarite tri zasebne lastnosti: ime, plačo in starost.

Задание 2

Preko konstruktorja kot parameter posredujte vrednosti teh lastnosti.

Задание 3

Ustvarite getterje, ki izpišejo vrednosti vsake naše lastnosti.