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:
class 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:
let name = user.name;
Gjatë përpjekjes për shkrim do të thirret metoda,
e deklaruar përmes set:
user.name = 'john';
Është dhënë klasa e mëposhtme:
class 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.