クラスモジュールの役割

クラスモジュール

 クラスモジュールは、クラスを記述するためのモジュールです。
クラス設計専用のモジュールで、ひとつのモジュールがひとつのクラスを表します。

プログラマーは、構造体を作ったときのように、独自のオブジェクトをプロジェクトに追加することができます。プロパティやメソッドの動作も自分で定義します。

写真:クラスモジュールをプロジェクトに追加する
写真:メニューなどからクラスモジュールを追加する。

プロジェクトに追加したクラスは、VB 組み込みのオブジェクトと同じように使います。ただし、オブジェクトと言ってもフォームやコントロールのような外見は持っていません。コードの中で変数として扱う存在で、構造体と同じような立場にあります。

写真:クラスモジュールのプロパティ(クラス名の設定)
写真:モジュールを追加したら、真っ先に名前を付けよう。
写真:クラスモジュールのコード編集ウィンドウ
写真:もちろんクラスモジュールも、他のモジュールと同じように編集する。
クラスは構造体よりも複雑な機能を持っているので、独立したモジュールになっています。

クラスと構造体の違い

「構造体によるプログラミングの考え方」と、「オブジェクトによるプログラミングの考え方」には、大きな違いがあります。それは、「何を主体としているか」の違いです。

構造体の例では、確かにキャラクターをひとつのオブジェクトのように扱うことができます。しかし、構造体は「値」しか持っていません。値を操作したり利用するのは、別途の処理部分です。そして、その処理部分がプログラムの中心になります。

一方、オブジェクト指向プログラミングではオブジェクトが主役です。キャラクターを扱う処理もキャラクター自身が持っているので、オブジェクトのメソッドを”呼び出す”ことで実行します。処理部分では、オブジェクトに対して”呼びかける”作業が中心になります。

他のモジュールとの違い

クラスモジュールは、フォームモジュールや標準モジュールとは性質が異なります。

つまり、同じようにプロジェクトに組み込んで使うモジュールでも、利用されるときの「立場」が違います。クラスモジュールが居る場所は、VB 組込型のオブジェクトクラスと同じような場所です。

標準モジュールの視界には、クラスモジュールは存在しません。
標準モジュールの視界に存在するものは、クラスモジュールで定義されたクラス、そしてそのクラスから生成されたオブジェクトのインスタンス(個々の実体)です。

逆に、標準モジュールは、プロジェクトに含まれるすべてのモジュールから見られています。クラスモジュールから標準モジュールのプロシージャを呼び出すこともできます。

2001年 2月17日(土) 更新