Top / クラスプログラミング / 01.配列を意識しない部品化

クラスが持つプロパティは、それぞれのインスタンスで、異なっています。
たとえば、 Class1 というクラスがあって、プロパティ Prop1 を持つとします。

<Class1>
Public Prop1 As Integer 

複数の値をこのクラスで扱うときは、次のように宣言して使うことが出来ます。

Dim A(0 To 1) As Class1
Set A(0) = New Class1
Set A(1) = New Class1 

A(0) と A(1) 、二つのインスタンスを宣言すると、それぞれのプロパティ A(0).Prop1,A(1).Prop1 は別々のメモリ領域を持ちます。
しかし、クラス内部では、Prop1 に対してコーディングをすれば、A(0).Prop1, A(1).Prop1 の両方に対してコーディングをしたことになります。

このクラスに、Inc というメソッドを持たせ、Prop1 をカウントアップする部品を作成してみましょう。

<Class1>
Public Sub Inc
    Prop1 = Prop1 + 1
End Sub

もし、クラスを使わないで、同じような部品を作成したとすると、Bas には、次のような記述をすることになります。

<xxx.Bas>
Public Prop1(0 To 1) As Integer
Public Sub Inc(Index As Long)
    Prop1(Index) = Prop1(Index) + 1
End Sub 

このように、部品側で、常に配列を意識したコーディングをしてあげなければなりませんね。(ちと苦しい)

同じようなものを、複数扱うような部品を作成する場合、クラスはとても有効なコーディング手段となります。




トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   最終更新のRSS
Last-modified: 2009-10-25 (日) 23:56:00 (2973d)