Getters de propriedades em POO em JavaScript

Suponha que temos a seguinte classe com propriedades privadas:

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

Como você pode ver, essas propriedades são definidas uma vez na criação do objeto. No entanto, atualmente, é impossível ler essas propriedades, pois elas são privadas e não existem métodos correspondentes para isso.

Vamos criar para nossas propriedades métodos especiais, que permitem ler essas propriedades. Tais métodos (chamados de getters) devem começar com a palavra get, seguida pelo nome da propriedade a ser lida.

Vamos criar os getters para nossas propriedades:

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

Vamos testar seu funcionamento. Vamos criar um objeto, passando os dados do usuário como parâmetro:

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

Vamos ler esses dados, utilizando os getters:

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

Na classe Employee, crie três propriedades privadas: nome, salário e idade.

Задание 2

Passe via construtor os valores dessas propriedades.

Задание 3

Crie getters que retornem os valores de cada uma de nossas propriedades.