Acessores em POO em TypeScript
Assim como no JavaScript puro, no TypeScript é possível criar acessores de propriedades: getters e setters.
No TypeScript, entretanto, os nomes dos acessores não
podem coincidir com os nomes das propriedades. Vamos
ver na prática. Vamos criar acessores
para a propriedade privada name. Se
dermos os mesmos nomes name para os acessores,
esse código irá gerar um erro:
class User {
private name: string = '';
public set name(name: string) { // irá gerar um erro
this.name = name;
}
public get name(): string {
return this.name;
}
}
Vamos corrigir o problema, por exemplo, renomeando a propriedade privada:
class User {
private _name: string = '';
public set name(name: string) {
this._name = name;
}
public get name(): string {
return this._name;
}
}
Crie uma classe User contendo
propriedades privadas para nome e idade.
Crie os acessores para essas propriedades.
Modifique o setter da idade para que
seja possível definir uma idade de 0 a
120. Se qualquer outro valor for especificado,
uma exceção deve ser lançada.