Privačios savybės OOP JavaScripte

Objekto savybės, kurias galima skaityti ir rašyti iš išorės, vadinamos viešosiomis. Taip pat egzistuoja privačios savybės, kurios bus prieinamos tik klasės viduje.

Privačių savybių pavadinimai turi prasidėti simboliu #. Be to, šios savybės būtinai turi būti paskelbtos klasės kodo pradžioje. Padarykime tai:

javascriptclass User {
  #name;
}

Dabar įrašykime duomenis į mūsų savybę. Tai galima padaryti, pavyzdžiui, klasės konstruktoriuje:

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

Dabar sukurkime metodą, kuris grąžins mūsų savybės reikšmę:

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

Sukurkime klasės objektą, perduodant vartotojo vardą parametru:

javascriptlet user = new User('john');

Bandymas kreiptis tiesiogiai į mūsų savybę už klasės ribų sukels klaidą:

javascriptconsole.log(user.#name); // klaida

O mūsų metodo iškvietimas leis nuskaityti šią savybę:

javascriptconsole.log(user.show()); // išves 'john'
Задание 1

Klasėje Employee sukurkite tris privačias savybes: vardą, atlyginimą ir amžių.

Задание 2

Perduokite šių savybių reikšmes konstruktoriaus parametru.

Задание 3

Sukurkite metodą, kuris išves darbuotojo duomenis.