Accesseurs en POO dans TypeScript
Comme en JavaScript pur, dans TypeScript, il est possible de créer des accesseurs de propriétés : les getters et les setters.
Cependant, dans TypeScript, les noms des accesseurs ne
doivent pas coïncider avec les noms des propriétés. Voyons
cela en pratique. Créons des accesseurs
pour la propriété privée name. Si
les noms donnés aux accesseurs sont également name,
ce code générera une erreur :
class User {
private name: string = '';
public set name(name: string) { // générera une erreur
this.name = name;
}
public get name(): string {
return this.name;
}
}
Corrigeons le problème, par exemple, en renommant la propriété privée :
class User {
private _name: string = '';
public set name(name: string) {
this._name = name;
}
public get name(): string {
return this._name;
}
}
Créez une classe User contenant
des propriétés privées pour le nom et l'âge.
Créez les accesseurs pour ces propriétés.
Modifiez le setter de l'âge afin de
pouvoir définir un âge entre 0 et
120. Si une autre valeur est spécifiée,
une exception doit être levée.