方法属性;指定方法必须覆盖虚拟
语法
说明
在方法声明中,可以使用
Override来表示此方法可能会覆盖基类的
虚拟或
抽象方法。那么编译器会显示一个错误,如果该方法不会覆盖任何东西(只有非静态方法可以覆盖虚拟或抽象方法)。
强制建议使用
Override来覆盖虚拟或抽象方法,因为它有助于防止无意的错误(名称/签名不匹配)。
只能在UDT块中的方法声明中指定
Override,但不能在方法体上指定,因为它只是在继承层次结构的上下文中的编译时检查,并且不会以任何方式影响该方法。
Override在成员程序声明结束时才被视为关键字。它仍然可以用作其他地方的标识符。
例子
Type A Extends Object
Declare Virtual Sub f1( )
Declare Virtual Function f2( ) As Integer
End Type
Type B Extends A
Declare Sub f1( ) Override
Declare Function f2( ) As Integer Override
End Type
Sub A.f1( )
End Sub
Function A.f2( ) As Integer
Function = 0
End Function
Sub B.f1( )
End Sub
Function B.f2( ) As Integer
Function = 0
End Function
与QB差别
参考