もっと!!!REALbasic 3
■ このスレッドは過去ログ倉庫に格納されています
0653名称未設定
05/01/08 16:31:26ID:d9NgvCwh以下のようにすれば良いはず。
モジュールのメソッドとして DoAsShigematsu ( inInterface As aInterfaceClass ) を定義してあるとする。
(aInterfaceClass は ReplaceRb というメソッドを持つインターフェイス)
EditField を実装継承したクラスは aEditFieldClass という名前で aInterfaceClass をインターフェイス継承。
Socket を実装継承したクラスは aSocketClass という名前で aInterfaceClass をインターフェイス継承。
aEditFieldClass , aSocketClass の ReplaceRb をそれぞれ実装。
(aSocketClass の ReplaceRb ではユーザに確認させる)
DoAsShigematsu メソッド内で
inInterface.RepalceRb という記述を行う。
これで aEditFieldClass , aSocketClass それぞれのイベントやメソッドからも、
DoAsShigematsu ( Me ) という同じ記述で呼び出すことができるようになる。
(もちろんそれ以外の場所からも
DoAsShigematsu ( aEditFieldClass型の変数 ) とか
DoAsShigematsu ( aSocketClass型の変数 ) とかで呼び出せる )
ただし効率を考えるならば、この場合 DoAsShigematsu というメソッドが
適度に複雑な処理(たとえば再帰など)を行っていることが望ましい。
そうでなければ、汎用性を考えてメソッドを切り分ける意味がないから。
■ このスレッドは過去ログ倉庫に格納されています