オーバーライド

※このページのサンプルは体裁を整えるため全角スペースを使用しています
オーバーライドとは、#method命令を利用して
すでにある機能に自分で作成した機能を上乗せすることです。

メソッド・命令のオーバーライド
#method命令でメソッド名を決めるとき、既存メソッド名や既存命令と同じ名前にすると
今後その命令を実行したとき、実装したメソッドが優先的に実行されます。
またオーバーライド後、もとの命令を使用したい場合は命令の前に"_"(アンダースコア)を記述します。
(メソッドをオーバーライドした場合は、以前のメソッドを使用することができなくなります。)
以下のサンプルでは本来のPrint命令は動作せず、メッセージボックスが表示されます。

サンプル
#method [Print, 1, *~Print]

   Print ["テスト"]
   Exit

*~Print
Integer [msgFlg]
   Msg [Argument0, "オーバーライドサンプル", 0, 0, msgFlg]
   MethodReturn


以下のサンプルは本来の動作を保ちつつ、機能を追加しています。

サンプル
#method [Print, 2, *~Print]

   Print ["たけぽい", "テスト"]
   Exit

*~Print
   _Print [Argument0 + "の発言「" + Argument1 + "」"]
   Wait [3000]
   MethodReturn


補足
すべて自分でコーディングをする場合、オーバーライドは通常必要ありません。
何度も使用する特定の処理を作成する場合や、機能を提供する、または提供される場合に使用します。
なおオーバーライドできない命令もあります。
メソッド

メインへ