プロが教える店舗&オフィスのセキュリティ対策術

VisualBasic.NETです。
あるクラスを継承したクラスからインスタンスを作成したときに、派生クラスのコンストラクタは呼び出されると思うのですが、基本クラスのコンストラクタはどうなるのでしょうか?
JAVAのように、super() で呼び出す必要があるのでしょうか? 自動で呼び出されるのでしょうか?
それとも、そもそも呼び出せないのでしょうか?

また、引数の個数が違うコンストラクタは、同じクラス内に設定できるのでしょうか?

JAVAのコードを移植しようと考えているのですが、出来るのかどうかが分からずに悩んでいます。
ご存じの方、よろしくお願いします。

A 回答 (2件)

>JAVAのように、super() で呼び出す必要があるのでしょうか? 自動で呼び出されるのでしょうか?



デフォルトコンストラクタは確か自動で呼び出されたと思います。
明示的にスーパークラスのコンストラクタを呼ぶ場合はMyBase.New()となります。

>また、引数の個数が違うコンストラクタは、同じクラス内に設定できるのでしょうか?
問題なくできると思います。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
MyBaseというキーワードを思い出しました。これが使えるんですね。
ありがとうございました。

お礼日時:2004/11/22 19:05

c#.NETでは、


派生クラスのコンストラクタを呼び出す時、
基本クラスのデフォルトコンストラクタが呼び出されます。
基本クラスのカスタムコンストラクタを呼び出されるようにするには、派生クラスのカスタムコンストラクタでbase指定で、引数を指定して、基本クラスのカスタムコンストラクタを呼び出すように書きます。

たぶんVB.NETも同じ動作だと思います。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
基本クラスのコンストラクタを明示的に呼び出したいので、MyBaseを使うことにします。
ありがとうございました。

お礼日時:2004/11/22 19:06

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!