Гетэры ўласцівасцей у ААП у JavaScript
Няхай у нас ёсць наступны клас з прыватнымі ўласцівасцямі:
class User {
#name;
#surn;
constructor(name, surn) {
this.#name = name;
this.#surn = surn;
}
}
Як вы бачыце, гэтыя ўласцівасці задаюцца адзін раз пры стварэнні аб'екта. Цяпер, аднак, гэтыя ўласцівасці немагчыма прачытаць, бо яны прыватныя і няма адпаведных метадаў для гэтага.
Давайце зробім для нашых уласцівасцей спецыяльныя
метады, якія дазваляюць прачытаць гэтыя ўласцівасці.
Такія метады (іх называюць гетэры) павінны
пачынацца са слова get, а затым павінна
ісці назва чытаемай уласцівасці.
Давайце зробім гетэры нашых уласцівасцей:
class User {
#name;
#surn;
constructor(name, surn) {
this.#name = name;
this.#surn = surn;
}
getName() {
return this.#name;
}
getSurn() {
return this.#surn;
}
}
Давайце праверым іх працу. Створам аб'ект, параметрам перадаўшы дадзеныя карыстальніка:
let user = new User('john', 'smit');
Прачытаем гэтыя дадзеныя, скарыстаўшыся гетэрамі:
console.log(user.getName());
console.log(user.getSurn());
У класе Employee зрабіце
тры прыватныя ўласцівасці: імя, заробную плату
і ўзрост.
Перадайце параметрам канструктара значэнні гэтых уласцівасцей.
Зрабіце гетэры, якія выводзяць значэнні кожнай з нашых уласцівасцей.