Typescript get 和 set 的重写
在 TypeScript 中,可以使用 get
和 set
关键字来创建对象的属性访问器。如果你想要重写一个类中的属性访问器,可以简单地在子类中提供具有相同名称的访问器。
以下是一个简单的例子,演示如何在 TypeScript 中重写一个 getter 和 setter:
class Base {
private _value: number;
get value(): number {
return this._value;
}
set value(newValue: number) {
this._value = newValue;
}
}
class Derived extends Base {
private _value: string;
get value(): string {
return this._value.toString();
}
set value(newValue: string) {
this._value = newValue;
}
}
const derived = new Derived();
derived.value = "123";
console.log(derived.value); // 输出: "123"
在这个例子中,Derived
类重写了 Base
类的 value
属性的 getter 和 setter。在 Derived
中,value
属性现在是一个字符串,而不是数字。当你设置 value
属性时,它会按照 Derived
类中定义的 setter 进行操作,而访问 value
属性时,则会按照 Derived
类中定义的 getter 进行操作。
评论已关闭