メソッド属性;メソッドが、仮想より優先しなければならないことを示します
構文:
記述:
メソッド宣言では、
Override は、このメソッドが基底クラスからの
virtual か
abstract メソッドを無効にすることを示すために使うことができます。
このため、メソッドが何かを無視しなければ、コンパイラーはエラーを示します。
(非静的メソッドだけが、仮想か抽象のメソッドを無視することができます)
Override の使用は、仮想か抽象メソッドを無効にする上で、義務的ではありません。
不注意なエラー(名前/署名の不一致)を防ぐ助けになるので、これは強く推奨されます。
Override は、メソッドの本体ではなく、UDT ブロックの中でメソッド宣言の上だけで指定することができます。
これは、単に継承階層の文脈中のコンパイル時のチェックで、いかなる方法でもメソッドに影響しないからです。
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からの違い:
参照: