クラスは、次のように作る。

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()  

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2010年01月11日 03:05