標準モジュールでの変数定義はそう難しくない。標準モジュールの上部で、例えば

◆標準モジュール Module1

Public giVal As Integer = 5



などと書けば、そのプロジェクト内では共通で利用できる。



クラスモジュールではどうだろうか?

◆Classモジュール Class1

Public giVal As Integer



などと書いても、生成さえすれば使える。


なら、「差はないのでは?」と思われるだろう。ごもっともである。

ここまでだと、修飾子が付くかどうか、くらいのメリットくらいしかない。


これでもいいのだが、以下に等価の処理であるが別の記述方法を記載しておく。

※現在、記憶に頼って書いています。動作検証していません。


◆Classモジュール Class2

Private iVal As Integer


Public Property Get giVal() As Integer
  giVal = iVal

End Function

Public Property Let giVal(iParm As Integer)
  iVal = iParm

End Function


と記載することもできる。


冗長だなあ、という印象を受けられる方もいらっしゃるだろう。


しかし、先々のため、このやり方も覚えておいて欲しい。

先々、どんなことを紹介するつもりで居るかというと、

・データを保管するための専用のクラスの作成

  →データベースやフォームとデータを授受する際のクラス。Javaなどではデータクラスという呼称でよく使われます(ちょっと知識が古いので、最近流れが変わってきているならごめんなさい)。

  →併せてデータのチェックなども組み込むことも可能です。

・オリジナルのデータ型の作成

  リスト型やn次元テーブルも、生成ができるクラスファイルであるがゆえに柔軟に対応できます。

などである。




※書き直し /八月末削除予定 /クラス