Accesseurs de propriétés en POO en JavaScript
Supposons que nous ayons la classe suivante avec des propriétés privées :
class User {
#name;
#surn;
constructor(name, surn) {
this.#name = name;
this.#surn = surn;
}
}
Comme vous pouvez le voir, ces propriétés sont définies une fois lors de la création de l'objet. Cependant, actuellement, il est impossible de lire ces propriétés, car elles sont privées et il n'y a pas de méthodes correspondantes pour cela.
Créons pour nos propriétés des méthodes spéciales
permettant de lire ces propriétés.
De telles méthodes (appelées accesseurs) doivent
commencer par le mot get
, suivi du
nom de la propriété à lire.
Créons les accesseurs de nos propriétés :
class User {
#name;
#surn;
constructor(name, surn) {
this.#name = name;
this.#surn = surn;
}
getName() {
return this.#name;
}
getSurn() {
return this.#surn;
}
}
Vérifions leur fonctionnement. Créeons un objet en passant les données de l'utilisateur en paramètre :
let user = new User('john', 'smit');
Lisons ces données en utilisant les accesseurs :
console.log(user.getName());
console.log(user.getSurn());
Dans la classe Employee
, créez
trois propriétés privées : le nom, le salaire
et l'âge.
Passez par le constructeur les valeurs de ces propriétés.
Créez des accesseurs affichant les valeurs de chacune de nos propriétés.