Digital_Neko

フリーランスプログラマー

Excel VBA インタフェースの実装

今回はExcel VBAを使ってインタフェースを実装してみようという話です。

まず図1のように、クラスモジュールに「Animal」と「Neko」というクラスを作ります。

図1クラスモジュール

次に「Animal」クラスをインタフェースとして利用したいので、メソッドと
フィールドのみ記述します。プログラムは図2になります。

図2 Animalインタフェース

次にAnimalインタフェースを実装したクラス、「Neko」クラスを作成します。
「Implements Animal」と宣言してあげると、図3のようにプルダウンより
実装するメソッドを選べるようになります。

図3 インタフェースの実装

そして図4のように「Neko」クラスでインタフェースを実装してあげます。

図4. Nekoクラス

そして最後にポリモーフィズムを実現してみます。標準モジュールで
インスタンスを生成して、「Animal」型のオブジェクトに「new Neko」とすると、Nekoインスタンスへの参照をあたかもAnimalのように扱えます。

つまりAnimalオブジェクトでNekoのメソッドを実行することが出来ます。
プログラムは図5になります。

図5.ポリモーフィズム

これで、ネコの動作がメッセージボックスに表示されます。