ポイントメモ
- 挿入 > クラスモジュール、で追加
- クラスモジュールを入れるフォルダが出現し、その中にクラスファイルが追加される。
- クラスモジュールフォルダ内に、更にフォルダを作ることはできないようだ。
- 左の窓、プロパティでクラス名(ファイル名)編集
- クラス宣言をファイル内に書かない。よって、ファイル内を見てもクラス名は分からない。
- 引数を渡してのコンストラクタは無い。
- インスタンス化時に自動で行われる初期化処理はある。
- クラスに次を書く。Private Sub Class_Initialize()
- Set CInstance = New ClassSkeleton、したときに呼ばれる。
- 宣言したプロパティ変数を、明示的に初期化するのによい。
- デストラクタがある
- クラスに次を書く。
Private Sub Class_Terminate()
Set CInstance = Nothing
すれば呼ぶことができる。
- プロパティについて。プロパティプロシージャを使う。セッターと、ゲッターがある。
- 変数宣言は、クラス内で Private で宣言し、クラス外からはセッター、ゲッターを使用して操作する。
private _hoge As String
Public Property Let Hoge(strValue As String)
_hoge = strValue
End Property
Public Property Get Hoge() As String
Hoge = _hoge
End Property
Dim hoge As String
hoge = CInstance.Hoge
TypeName(Me)
でこれを書いたクラス名を取得することができる。
- インスタンス化するときは、変数宣言とまとめないで、2行に分けて行う。
Class_Initialize プロシージャ呼び出しのタイミングを制御するため。
Dim fuga As Fuga
Set fuga = New Fuga