Métodos Privados em POO em JavaScript
Não apenas propriedades podem ser privadas, mas também métodos. Geralmente, métodos auxiliares são tornados privados para evitar que sejam acidentalmente chamados de fora da classe.
Vamos ver um exemplo. Suponha que temos a seguinte classe:
javascriptclass User {
#name;
constructor(name) {
this.#name = name;
}
show() {
return this.#name;
}
}
Vamos criar um método privado nesta classe, que receberá uma string como parâmetro e tornará seu primeiro caractere maiúsculo:
javascriptclass User {
#name;
constructor(name) {
this.#name = name;
}
show() {
return this.#name;
}
#cape(str) {
return str[0].toUpperCase() + str.slice(1);
}
}
Vamos usar nosso método auxiliar dentro de outro método:
javascriptclass User {
#name;
constructor(name) {
this.#name = name;
}
show() {
return this.#cape(this.#name);
}
#cape(str) {
return str[0].toUpperCase() + str.slice(1);
}
}
Vamos testar. Vamos criar um objeto da nossa classe:
javascriptlet user = new User('john');
Vamos chamar o método público, que utiliza o método auxiliar:
javascriptconsole.log(user.show());
Задание 1
No código a seguir, torne o método auxiliar privado:
javascriptclass Employee {
constructor(name, salary) {
this.name = name;
this.salary = salary;
}
getSalary() {
return this.addSign(this.salary);
}
addSign(num) {
return num + '
;
}
}