「クラスはどう作ってどう使うの?」の編集履歴(バックアップ)一覧はこちら

クラスはどう作ってどう使うの?」(2010/01/11 (月) 03:05:14) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

クラスは、次のように作る。 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 等と書ける。尚、ポインタでない型として宣言した場合、宣言した直後にコンストラクタが呼ばれる。 #誰か継承について書いてくれない?
クラスは、次のように作る。 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()

表示オプション

横に並べて表示:
変化行の前後のみ表示: