インターフェースを実装したインターフェースを実装する
インターフェースを実装したインターフェースを実装する
何言ってんだか、わかんねえだろ? おれもよくわかっていねえんだ。
インターフェースを実装したインターフェース
まず、一つインターフェースを作る。
リスト1 クラスモジュール IA
Option Explicit Public Sub aa() End Sub
実験用だから、全てが投げやり。IA
というインターフェースで、aa
というメソッドを指定している。
で、次に、このインターフェースIA
を実装したインターフェースを作る。
リスト2 クラスモジュール IB
Option Explicit Implements IA Public Sub IA_aa() End Sub Public Sub bb() End Sub
インターフェースIA
を実装したのだから、IA_aa
メソッドは必須。さらに、bb
メソッドを指定した。
これでインターフェースの準備は完了。
インターフェースを実装したインターフェースを実装したクラスを作る
では、上で作成したインターフェースIA
を実装したインターフェースIB
を実装したクラスを作る。
リスト3 クラスモジュール Hoge
Option Explicit Implements IB Public Sub IB_IA_aa() Call MsgBox("ち~んw") End Sub Public Sub IB_bb() Call MsgBox("(゚∀゚)アヒャ") End Sub
実装したインターフェースはIB
。ゆえに、インターフェースIB
が指定している二つのメソッドIA_aa
とbb
を装備すれば良いはずだ。
インターフェース名をメソッド名の頭にスネーク記法で付けるのがルールなので、IB_IA_aa
、IB_bb
とすれば、まさに万全。鉄壁の布陣。八門金鎖の陣を敷いた曹仁も驚きだろう。
Hogeクラスを使ってみる
標準モジュールに次のコードを書いてHoge
クラスを使ってみる。
リスト4 標準モジュール
Private Sub test01() Dim b As IB Set b = New Hoge Call b.IA_aa Call b.bb End Sub
コーディング中には、
こんなふうにヒントも出る。
いやが上にも胸が高鳴るではないか!!!!!!!!!!!!!!!!!
実行
震える手で実行ボタンをクリック……
あえなくコンパイル エラー……。
(´・ω・`)ショボーン
おわりに
何がいけないのでしょう……。