Геттеры свойств в ООП в 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 сделайте три приватных свойства: имя, зарплату и возраст.

Передайте параметром конструктора значения этих свойств.

Сделайте геттеры, выводящие значения каждого из наших свойств.



Чат с GPT Компилятор