Métodos privados en POO en JavaScript
No solo las propiedades pueden ser privadas, sino también los métodos. Normalmente se hacen privados los métodos auxiliares, para que no puedan ser llamados accidentalmente desde fuera de la clase.
Veamos un ejemplo. Supongamos que tenemos la siguiente clase:
javascriptclass User {
#name;
constructor(name) {
this.#name = name;
}
show() {
return this.#name;
}
}
Hagamos en esta clase un método privado, que tomará una cadena como parámetro y pondrá en mayúscula su primer carácter:
javascriptclass User {
#name;
constructor(name) {
this.#name = name;
}
show() {
return this.#name;
}
#cape(str) {
return str[0].toUpperCase() + str.slice(1);
}
}
Utilicemos nuestro método auxiliar dentro de otro 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);
}
}
Comprobemos. Creemos un objeto de nuestra clase:
javascriptlet user = new User('john');
Llamemos al método público que utiliza el auxiliar:
javascriptconsole.log(user.show());
Задание 1
En el siguiente código, haga el 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 + '
;
}
}