Getters de acessadores em POO em JavaScript
Vamos analisar mais detalhadamente a aplicação dos getters de propriedades-acessadores. Suponha que temos a seguinte classe com uma propriedade privada:
class User {
#name;
constructor(name) {
this.#name = name;
}
}
Vamos criar nesta classe
uma propriedade pública name,
que poderá ser lida,
mas não poderá ser escrita:
class User {
#name;
constructor(name) {
this.#name = name;
}
get name() {
return this.#name;
}
}
Vamos testar o funcionamento. Vamos criar um objeto da nossa classe, passando a ele como parâmetro o valor do nome:
let user = new User('john');
E agora vamos ler o nome através da propriedade pública:
let name = user.name;
console.log(name);
Já uma tentativa de escrever o nome levará a um erro, como pretendíamos:
user.name = 'eric';
Implemente os getters de acessadores para
as propriedades da classe Employee.