Kotlin: プライマリコンストラクタ・セカンダリコンストラクタと継承パターン


Kotlin には プライマリコンストラクタ と セカンダリコンストラクタ があります。 子クラスでのコンストラクタの書き方は状況によって書き方が変わってきます。

パターン

子クラスでコンストラクタを作らない場合

親クラスの後ろには括弧・引数をつけておきます。

子クラスでプライマリコンストラクタを作る場合
子クラスでセカンダリコンストラクタを作る場合

プライマリコンストラクタを書かずにセカンダリコンストラクタのみを書く場合、 親クラスの名前の後ろにはなにもつけません。 そしてセカンダリコンストラクタはスーパクラスのコンストラクタにデリゲートします。

子クラスでプライマリコンストラクタとセカンダリコンストラクタを作る場合

子クラスのセカンダリコンストラクタは、自分自身のコンストラクタにデリゲートします。

継承できないクラス

親クラスでプライマリコンストラクタを private にしていていセカンダリコンストラクタがない場合、 継承できません(継承する(すべ)をまだ見つけていません)。