Accessor-getterit OOP:ssa JavaScriptissä
Tarkastellaanpa tarkemmin accessor-omaisuusgetterien käyttöä. Oletetaan, että meillä on seuraava luokka yksityisellä ominaisuudella:
javascriptclass User {
#name;
constructor(name) {
this.#name = name;
}
}
Tehdään tähän luokkaan
julkinen ominaisuus name,
jota voidaan lukea,
mutta jota ei voi asettaa:
javascriptclass User {
#name;
constructor(name) {
this.#name = name;
}
get name() {
return this.#name;
}
}
Testataan toimintaa. Luodaan olio luokastamme, välittämällä sille parametrina nimen arvon:
javascriptlet user = new User('john');
Luetaan nyt nimi julkisen ominaisuuden kautta:
javascriptlet name = user.name;
console.log(name);
Yritys kirjoittaa nimi johtaa virheeseen, kuten pyysimme:
javascriptuser.name = 'eric';
Задание 1
Toteuta accessor-getterit
luokan Employee ominaisuuksille.