Omaduste getterid OOP-s JavaScriptis
Olgu meil järgmine klass privaatsete omadustega:
class User {
#name;
#surn;
constructor(name, surn) {
this.#name = name;
this.#surn = surn;
}
}
Nagu näete, need omadused määratakse üks kord objekti loomisel. Praegu aga neid omadusi pole võimalik lugeda, kuna need on privaatsed ja puuduvad vastavad meetodid selleks.
Teeme oma omaduste jaoks spetsiaalsed
meetodid, mis võimaldavad neid omadusi lugeda.
Selliseid meetodeid (mida nimetatakse getteriteks) peaks
algama sõnaga get, millele peaks
järgnema loetava omaduse nimi.
Teeme oma omaduste getterid:
class User {
#name;
#surn;
constructor(name, surn) {
this.#name = name;
this.#surn = surn;
}
getName() {
return this.#name;
}
getSurn() {
return this.#surn;
}
}
Kontrollime nende toimimist. Loome objekti, parameetritena edastades kasutaja andmed:
let user = new User('john', 'smit');
Loeme need andmed, kasutades gettereid:
console.log(user.getName());
console.log(user.getSurn());
Klassis Employee tehke
kolm privaatset omadust: nimi, palk
ja vanus.
Edastage konstruktori parameetritena nende omaduste väärtused.
Tehke getterid, mis kuvavad iga meie omaduse väärtused.