Ominaisuusgetterit OOP:ssa JavaScriptissä

Oletetaan, että meillä on seuraava luokka yksityisillä ominaisuuksilla:

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

Kuten näet, nämä ominaisuudet asetetaan kerran olion luomisen yhteydessä. Nyt kuitenkaan niitä ominaisuuksia ei voi lukea, sillä ne ovat yksityisiä eikä ole vastaavia menetelmiä sitä varten.

Tehdään ominaisuuksillemme erityisiä menetelmiä, jotka mahdollistavat näiden ominaisuuksien lukemisen. Tällaisia menetelmiä (joita kutsutaan gettereiksi) tulisi alkaa sanalla get, jonka jälkeen tulisi tulla luettavan ominaisuuden nimi.

Tehdään ominaisuuksiemme getterit:

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

Testataan niiden toimintaa. Luodaan olio, välittäen parametrina käyttäjän tiedot:

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

Luetaan nämä tiedot hyödyntäen gettereitä:

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

Luokassa Employee tee kolme yksityistä ominaisuutta: nimi, palkka ja ikä.

Задание 2

Välitä konstruktorin parametrina näiden ominaisuuksien arvot.

Задание 3

Tee getterit, jotka tulostavat jokaisen ominaisuutemme arvot.