いろんなものはつながっている

VBAでクラスをつかう

VBA1あるお絵かきソフトウェアに付属しているマクロ機能(言語はVBA)でちょっとした図形を作成することになった。

四角や円などの図形を左記のようなFactory Methodパターンで作成しよう思ったが、そもそもVBAをあまり書いたことないのでVBAのクラスにはなじみがなかった。そこで、インターフェース継承による開発オブジェクト指向プログラミングに関して、VBAで出来ないことで調べてみた。

うーん、いろいろできないんだ。特に、親クラスで定義した変数とメソッドすべてを、わざわざ子クラス側でも “親クラス名_変数名/メソッド名” といった名前で定義しないといけないというのはやっかい。どうなんだろう。

こういったかたちで書きたいなと思ったので

Dim creator As AbstractCreator

Select Case ShapeType
    Case BOX
        Set creator = New BoxCreator
    Case CIRCLE
        Set creator = New CircleCreator
End Select

creator.Create

結局以下のようなクラス構造にした。
VBA2

関連記事

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

スポンサード リンク

カテゴリー

スポンサード リンク