Vetitë-Aksesorë në OOP në JavaScript

Ekzistojnë dy lloje të vetive të objektit.

Lloji i parë janë vetitë-të dhëna (data properties). Ne tashmë dimë se si të punojmë me to. Të gjitha vetitë që kemi përdorur deri në momentin aktual, kanë qenë veti të të dhënave.

Llojin e dytë të vetive nuk e kemi shqyrtuar ende. Këto janë vetitë-aksesorë (accessor properties). Në thelb, këto janë funksione që përdoren për caktimin dhe marrjen e vlerës, por në kod të jashtëm ato duken si veti të zakonshme të objektit.

Vetitë-aksesorë krijohen duke përdorur fjalët kyçe get dhe set të shkruara gjatë deklarimit të metodave:

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

Si rezultat i një deklarimi të tillë klasa jonë do të posedojë vetinë name. Në këtë rast, gjatë përpjekjes për lexim të kësaj vetie do të thirret metoda, e deklaruar përmes get:

javascriptlet name = user.name;

Gjatë përpjekjes për shkrim do të thirret metoda, e deklaruar përmes set:

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

Është dhënë klasa e mëposhtme:

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

Krijoni një objekt të kësaj klase dhe provoni të shkruani dhe lexoni të dhëna nga vetia name.