Accessors in OOP in TypeScript
Ebenso wie in reinem JavaScript können in TypeScript Accessors von Eigenschaften erstellt werden: Getter und Setter.
In TypeScript dürfen die Namen der Accessors jedoch nicht
mit den Namen der Eigenschaften übereinstimmen. Lasst uns
das in der Praxis ansehen. Erstellen wir Accessors
für die private Eigenschaft name. Wenn
die Namen für die Accessors ebenfalls name lauten,
wird dieser Code einen Fehler ausgeben:
class User {
private name: string = '';
public set name(name: string) { // gibt einen Fehler aus
this.name = name;
}
public get name(): string {
return this.name;
}
}
Lassen Sie uns das Problem beheben, indem wir zum Beispiel die private Eigenschaft umbenennen:
class User {
private _name: string = '';
public set name(name: string) {
this._name = name;
}
public get name(): string {
return this._name;
}
}
Erstellen Sie eine Klasse User, die
private Eigenschaften für Name und Alter enthält.
Erstellen Sie Accessors für diese Eigenschaften.
Modifizieren Sie den Setter für das Alter so, dass
ein Alter von 0 bis
120 angegeben werden kann. Wenn ein anderer
Wert angegeben wird, soll eine Ausnahme ausgelöst werden.