読者です 読者をやめる 読者になる 読者になる

他のコンストラクタの呼び出し

C# .NET Memo

スーパークラスのコンストラクタの呼び出しとオーバーロードされたコンストラクタの呼び出しはC++Javaの中間のような感じ。

class Hoge
{
    public Hoge(int i) {}
    // オーバーロードされたコンストラクタの呼び出し
    public Hoge() : this(10) {}
}
class ExHoge : Hoge
{
    // スーパークラスのコンストラクタの呼び出し
    public ExHoge() : base(20) {}
}

引数なしのコンストラクタをスーパークラスが持っていた場合*1、サブクラスで明示的に呼ばなければそれが呼び出されるというのはJavaと同じ。

*1:または明示的にコンストラクタを記述しなかった場合