クラスモジュールの説明をする前に、「クラス」という言葉が何を意味する言葉なのか説明しなければなりません。
「クラス」とは、「オブジェクトの設計図」です。
オブジェクトというのは、VB ではフォームやコントロールなどのことです。オブジェクトの概念が必要不可欠な開発ツールである VB、そのユーザーさんなら、「オブジェクト」のイメージは既に掴めていると思います。
オブジェクトは、プロパティ(パラメータ = オブジェクトが持つデータ)やメソッド(オブジェクトに命令できる動作)を持っています。パラメータやメソッドの動作は、オブジェクトによって異なります。マニュアルにはリファレンスとして、“このプロパティは〜を意味する”とか、“このメソッドで〜を実行する”などと書かれています。
実は、それぞれのオブジェクトには、これらパラメータやメソッドの動作内容を定義しているひとつの「設計図」が存在し、各オブジェクトは、その設計図に従って動作しているのです。その設計図を「クラス」と呼びます。
私たち人間は、物事を種類・項目ごとに整理して捉えることができます。
たとえば、「フォーム」というと、フォームモジュールのことを指しますが、どのプロジェクトにもフォームモジュールがあります。それらは frmMain とか、frmConfig とか、色々名前を付けられて管理されていて、それぞれフォームなのですが、それぞれ異なる外見やデータを設定されています。
つまり、フォームというのは、frmMain などの各フォームモジュールの総称であり、Form という「型」を指しているのです。これこそが「クラス」です。
「プロジェクトにフォームを追加する」ということは、「クラス Form(設計図)からオブジェクト frmMain(製品)を製造し、それを追加する」ということになるのです。
| オブジェクト | クラス | |
|---|---|---|
| frmMain | As (One of) | Form |
| btnOpen | As (One of) | CommandButton |
| txtFilePath | As (One of) | Text |
Form や CommandButton というのは、「クラスの名前」だったのです。