Гетэры ўласцівасцей у ААП у JavaScript

Няхай у нас ёсць наступны клас з прыватнымі ўласцівасцямі:

javascriptclass User {
  #name;
  #surn;
  
  constructor(name, surn) {
    this.#name = name;
    this.#surn = surn;
  }
}

Як вы бачыце, гэтыя ўласцівасці задаюцца адзін раз пры стварэнні аб'екта. Цяпер, аднак, гэтыя ўласцівасці немагчыма прачытаць, бо яны прыватныя і няма адпаведных метадаў для гэтага.

Давайце зробім для нашых уласцівасцей спецыяльныя метады, якія дазваляюць прачытаць гэтыя ўласцівасці. Такія метады (іх называюць гетэры) павінны пачынацца са слова get, а затым павінна ісці назва чытаемай уласцівасці.

Давайце зробім гетэры нашых уласцівасцей:

javascriptclass User {
  #name;
  #surn;
  
  constructor(name, surn) {
    this.#name = name;
    this.#surn = surn;
  }
  
  getName() {
    return this.#name;
  }
  
  getSurn() {
    return this.#surn;
  }
}

Давайце праверым іх працу. Створам аб'ект, параметрам перадаўшы дадзеныя карыстальніка:

javascriptlet user = new User('john', 'smit');

Прачытаем гэтыя дадзеныя, скарыстаўшыся гетэрамі:

javascriptconsole.log(user.getName());
console.log(user.getSurn());
Задание 1

У класе Employee зрабіце тры прыватныя ўласцівасці: імя, заробную плату і ўзрост.

Задание 2

Перадайце параметрам канструктара значэнні гэтых уласцівасцей.

Задание 3

Зрабіце гетэры, якія выводзяць значэнні кожнай з нашых уласцівасцей.