「クラスはどう作ってどう使うの?」の編集履歴(バックアップ)一覧はこちら
クラスはどう作ってどう使うの? - (2009/12/26 (土) 23:25:24) の1つ前との変更点
追加された行は緑色になります。
削除された行は赤色になります。
作成中...
クラスは、次のように作る。
Class C
private:
A As Long
public:
Sub C()
A=1
End Sub
Sub ~C()
End Sub
Function Member1() As Long
Member1=A
End Functoin
End Class
ここでクラス名がCなら、コンストラクタ(生成時に1度だけ呼ばれる関数)の名前はC、デストラクタ(開放時に1度だけ呼ばれる関数)の名前は~Cとなる。
public:と書いてあるが、これはpublicアクセスの開始を宣言するもので、クラスの中からは勿論、クラスの外からも使うことが出来る事を意味する。
コンストラクタとデストラクタはこのpublicアクセスの中で定義する必要がある。
一方private:と書いてあるが、これはprivateアクセスの開始を宣言するもので、このクラスの外からは一切参照できなくなる。
外から勝手に書き換えられたくない場合に用いる。
他にprotected:と書くものがあり、これはprotectedアクセスの開始を宣言するもので、protectedアクセスの中の変数や関数は、このクラスとこのクラスの派生先のクラスで参照できる。ただしそれ以外の場所からは参照できない。
ちなみにClass開始時はprivateアクセスになるので、先頭に書く場合はprivate:は省略できる。
使う時はこのクラスの型か、そのポインタ型等として宣言する。
Dim A As C
Dim B As Long
B = A.Member1()
Dim A As *C
Dim B As Long
A = new C
B = A->Member1()
delete A
等と書ける。尚、ポインタでない型として宣言した場合、宣言した直後にコンストラクタが呼ばれる。