ポインター:SUPER
The SUPER
ポインタは、オブジェクト指向プログラミングに使用される特別な変数です。
SUPER
は、機能ブロックが生成されたベース機能ブロックインスタンスへの機能ブロックのポインタです。 The SUPER
ポインタを使用すると、基本機能ブロック(基本クラス)のメソッドの実装にアクセスすることもできます。 A SUPER
ポインタは、機能ブロックごとに自動的に使用可能になります。使用できます SUPER
メソッドおよび関連する機能ブロックの実装でのみ。
ポインターの間接参照: SUPER^
を使用して SUPER
ポインタ: SUPER
キーワードを使用して、基本クラスまたは親クラスのインスタンスで有効なメソッドを呼び出します。
例 98. 例
ST
SUPER^.METH_DoIt();
FBD / CFC / LD

例 99. 例
の使用 SUPER
と THIS
ポインタ
FUNCTION_BLOCK FB_Base VAR_OUTPUT iCnt : INT; END_VAR METHOD METH_DoIt : BOOL iCnt := -1; METHOD METH_DoAlso : BOOL METH_DoAlso := TRUE; FUNCTION_BLOCK FB_1 EXTENDS FB_Base VAR_OUTPUT iBase : INT; END_VAR THIS^.METH_DoIt(); //Call of the methods of FB_1 THIS^.METH_DoAlso(); SUPER^.METH_DoIt(); //Call of the methods of FB_Base SUPER^.METH_DoAlso(); iBase := SUPER^.iCnt; METHOD METH_DoIt : BOOL iCnt := 1111; METH_DoIt := TRUE; PROGRAM PLC_PRG VAR myBase : FB_Base; myFB_1 : FB_1; iTHIS : INT; iBase : INT; END_VAR myBase(); iBase := myBase.iCnt; myFB_1(); iTHIS := myFB_1.iCnt;
ヒント
THIS
命令リスト(IL)にはまだ実装されていません。