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'
Klasėje Employee sukurkite
tris privačias savybes: vardą, atlyginimą
ir amžių.
Perduokite šių savybių reikšmes konstruktoriaus parametru.
Sukurkite metodą, kuris išves darbuotojo duomenis.