Hozzáférési tulajdonságok az OOP-ben JavaScriptben

Két típusú tulajdonság létezik egy objektumban.

Az első típus az adattulajdonságok (data properties). Már tudjuk, hogyan kell velük dolgozni. Minden tulajdonság, amit a jelen pillanatig használtunk, adattulajdonság volt.

A második típusú tulajdonságokat még nem vizsgáltuk. Ezek a hozzáférési tulajdonságok (accessor properties). Lényegében ezek olyan függvények, amelyeket értékadásra és értéklekérésre használnak, de a külső kódban hétköznapi objektumtulajdonságoknak tűnnek.

A hozzáférési tulajdonságok a get és set kulcsszavakkal jönnek létre, amelyek a metódusok deklarálásakor írandók:

javascriptclass User {
  get name() {
  
  }
  set name(name) {
  
  }
}

Egy ilyen deklaráció eredményeképpen osztályunk rendelkezni fog a name tulajdonsággal. Ekkor a tulajdonság olvasásakor a get segítségével deklarált metódus hívódik meg:

javascriptlet name = user.name;

Írásakor a set segítségével deklarált metódus hívódik meg:

javascriptuser.name = 'john';
Задание 1

Adott a következő osztály:

javascriptclass Employee {
  get name() {
    console.log('get');
  }
  set name(name) {
    console.log('set');
  }
}

Hozzon létre egy objektumot ebből az osztályból és próbáljon meg írni és olvasni adatot a name tulajdonságból.