- 締切済み
VBAもしくはVB6:クラスの中でクラスは使える?
EXCEL2010にて、VBAでプログラミングしております。 クラスモジュールを用いてクラスを自分で作成して、 作成したクラスを標準モジュール内で使用するのは普通ですが、 クラスモジュールを用いてクラスを自分で作成して、 作成したクラスを、更に別のクラスモジュールの中に記述することは可能ですか? このようなクラスの中に別のクラスが入っている状態(クラスの入れ子)で、 まともに動くものでしょうか? 詳しい方、御教授よろしくお願いいたします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- めとろいと(@naktak)
- ベストアンサー率36% (785/2139)
回答No.1
動きます。 標準モジュール内で標準モジュールを利用することも可能ですし、 クラスは標準モジュール内で利用することが当たり前や前提ということはありません。 但し、標準モジュールと違うところは、クラスが一旦破棄されれば、クラス内で利用している クラスも操作できなくなるという点です。 (デストラクタで内部のクラスは解放すべきだし、改めてインスタンス化するなどの必要が出てくる) それだと困るなら、内部で利用するものは、スタティックなクラスとして作るなど、考えが 必要です。(いわゆるシングルトンな設計でクラスを作るなど)
お礼
早速の御回答、 どうも有り難うございます。 >>但し、標準モジュールと違うところは、クラスが一旦破棄されれば・・・ 以降のくだりは、 今の私の知識(技量?)では、少々難しく すぐに理解は出来ないのですが、 情報収集して 勉強してみようと思います。