クラスは、次のように作る。
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
等と書ける。尚、ポインタでない型として宣言した場合、宣言した直後にコンストラクタが呼ばれる。
継承の例
#N88BASIC
Class Idol
Protected
charisma As Long
looks As Long
Public
Sub talk()
Print "アイドル"
End Sub
End Class
Class KAT_TUN
Inherits Idol
Public
Sub talk()
Print "田中聖"
End Sub
End Class
Dim Kouki As KAT_TUN
Kouki.talk()
最終更新:2010年01月11日 03:05