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:

javascriptclass User {
  #name;
}

Most írjunk adatokat a tulajdonságunkba. Ez megtehető például az osztály konstruktorában:

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

Készítsünk most egy metódust, amely visszaadja a tulajdonságunk értékét:

javascriptclass 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:

javascriptlet user = new User('john');

A tulajdonságunkhoz való közvetlen hozzáférés az osztályon kívül hibához vezet:

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

A metódusunk meghívása lehetővé teszi a tulajdonság olvasását:

javascriptconsole.log(user.show()); // kiírja 'john'
Задание 1

A Employee osztályban készítsen három privát tulajdonságot: nevet, fizetést és életkort.

Задание 2

A konstruktor paramétereként adja át ezen tulajdonságok értékeit.

Задание 3

Készítsen egy metódust, amely kiírja a munkavállaló adatait.