Privát tulajdonságok az OOP-ben JavaScriptben
Az objektum azon tulajdonságait, amelyek kívülről olvashatók és írhatók, nyilvánosnak nevezzük. Léteznek privát tulajdonságok is, amelyek csak az osztályon belül lesznek elérhetők.
A privát tulajdonságok nevének
a # karakterrel kell kezdődnie.
Ezenkívül ezeket a tulajdonságokat kötelezően
az osztály kódjának elején kell deklarálni.
Tegyük ezt meg:
class User {
#name;
}
Most írjunk adatokat a tulajdonságunkba. Ez megtehető például az osztály konstruktorában:
class User {
#name;
constructor(name) {
this.#name = name;
}
}
Készítsünk most egy metódust, amely visszaadja a tulajdonságunk értékét:
class User {
#name;
constructor(name) {
this.#name = name;
}
show() {
return this.#name;
}
}
Hozzunk létre egy objektumot az osztályból, átadva paraméterként a felhasználó nevét:
let user = new User('john');
A tulajdonságunkhoz való közvetlen hozzáférés az osztályon kívül hibához vezet:
console.log(user.#name); // hiba
A metódusunk meghívása lehetővé teszi a tulajdonság olvasását:
console.log(user.show()); // kiírja 'john'
A Employee osztályban készítsen
három privát tulajdonságot: nevet, fizetést
és életkort.
A konstruktor paramétereként adja át ezen tulajdonságok értékeit.
Készítsen egy metódust, amely kiírja a munkavállaló adatait.