@virtual
标签类型: 修饰符
TSDoc 标准化: 扩展
@virtual
修饰符与 C# 中的 virtual
关键字具有类似的语义。它应该仅应用于类的成员。它指示该成员可以被子类的相应成员覆盖(即重新定义)。@virtual
修饰符不应应用于 abstract
成员,因为 abstract
关键字已经暗示该方法是虚拟的。
@virtual
修饰符将在生成的文档中显示。
API 提取器目前不验证 @virtual
修饰符是否使用正确。(这可能在将来实现。)
注意:与许多其他编程语言不同,TypeScript 支持类静态成员的继承。因此,对于静态成员和实例成员,使用
@virtual
、@override
和@sealed
是有效的。
用法示例
/** @public */
export class Control {
/**
* The title of the control
* @virtual
*/
public get title(): string {
return 'Control';
}
/**
* Draws the control on the screen
* @virtual
*/
public render(): void {
. . .
}
}
/** @public */
export class Button extends Control {
/**
* {@inheritDoc Control.title}
* @override
*/
public get title(): string {
return 'Button';
}
/**
* {@inheritDoc Control.render}
* @override
*/
public render(): void {
. . .
}
}