FreeBASIC マニュアルのトップに戻る

FreeBASIC Override

目次→命令文→手続きOVERRIDE←オリジナル・サイト

OVERRIDE 左にメニュー・フレームが表示されていない場合は、ここをクリックして下さい

←リンク元に戻る プログラム開発関連に戻る

メソッド属性;メソッドが、仮想より優先しなければならないことを示します

構文:
Type typename Extends basename
...
Declare Sub|Function|Operator|Property|Destructor ... ( [parameterlist] ) [[ byref ] As datatype] Override
...
End Type

記述:
メソッド宣言では、Override は、このメソッドが基底クラスからの virtualabstract メソッドを無効にすることを示すために使うことができます。
このため、メソッドが何かを無視しなければ、コンパイラーはエラーを示します。
(非静的メソッドだけが、仮想か抽象のメソッドを無視することができます)

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からの違い:

参照:

手続きに戻る

←リンク元に戻る プログラム開発関連に戻る

ページ歴史:2018-02-04 14:40:35
日本語翻訳:WATANABE Makoto、原文著作者:DkLwikki

ホームページのトップに戻る

表示-非営利-継承