Getters de propiedades en POO en JavaScript
Supongamos que tenemos la siguiente clase con propiedades privadas:
class User {
#name;
#surn;
constructor(name, surn) {
this.#name = name;
this.#surn = surn;
}
}
Como puedes ver, estas propiedades se establecen una vez cuando se crea el objeto. Sin embargo, actualmente, estas propiedades no se pueden leer, ya que son privadas y no hay los métodos correspondientes para ello.
Vamos a crear para nuestras propiedades métodos especiales
que permitan leer estas propiedades.
Estos métodos (llamados getters) deben
comenzar con la palabra get, y luego debe
ir el nombre de la propiedad a leer.
Vamos a crear los getters de nuestras propiedades:
class User {
#name;
#surn;
constructor(name, surn) {
this.#name = name;
this.#surn = surn;
}
getName() {
return this.#name;
}
getSurn() {
return this.#surn;
}
}
Comprobemos su funcionamiento. Creemos un objeto, pasando como parámetros los datos del usuario:
let user = new User('john', 'smit');
Leamos estos datos, utilizando los getters:
console.log(user.getName());
console.log(user.getSurn());
En la clase Employee haz
tres propiedades privadas: nombre, salario
y edad.
Pasa mediante el constructor los valores de estas propiedades.
Haz getters que muestren los valores de cada una de nuestras propiedades.