Privātās īpašības OOP JavaScript

Objekta īpašības, kuras var nolasīt un ierakstīt no ārpuses, sauc par publiskām. Pastāv arī privātas īpašības, kuras būs pieejamas tikai klases iekšienē.

Privāto īpašību nosaukumiem jāsākas ar simbolu #. Turklāt šīs īpašības obligāti jādeklarē klases koda sākumā. Izveidosim to:

javascriptclass User {
  #name;
}

Tagad ierakstīsim datus mūsu īpašībā. To var izdarīt, piemēram, klases konstruktorā:

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

Tagad izveidosim metodi, kas atgriezīs mūsu īpašības vērtību:

javascriptclass User {
  #name;
  
  constructor(name) {
    this.#name = name;
  }
  
  show() {
    return this.#name;
  }
}

Izveidosim klases objektu, padodot parametrā lietotāja vārdu:

javascriptlet user = new User('john');

Mēģinājums tieši piekļūt mūsu īpašībai ārpus klases izraisīs kļūdu:

javascriptconsole.log(user.#name); // kļūda

Bet mūsu metodes izsaukšana ļaus izlasīt šo īpašību:

javascriptconsole.log(user.show()); // izvadīs 'john'
Задание 1

Klasē Employee izveidojiet trīs privātas īpašības: vārdu, algu un vecumu.

Задание 2

Konstruktorā padodiet parametros šo īpašību vērtības.

Задание 3

Izveidojiet metodi, kas izvadīs darbinieka datus.