ハジカラ 〜はじめからでも、プログラミング勉強〜

入門向けに、IT関連(javaやKotlin)をコツコツ書いたり検証したりします。

Home » Kotlin » 【Kotlin番外】プライマリコンストラクタとセカンダリコンストラクタ

【Kotlin番外】プライマリコンストラクタとセカンダリコンストラクタ

calendar

reload

【Kotlin番外】プライマリコンストラクタとセカンダリコンストラクタ

こんにちは😀

前回、セカンダリコンストラクタをやりましたが、いまいち理解が浅いのでもう少し深くみてみます。

javaもコンストラクタはありますが、プライマリやセカンダリという使い分けはなかったように思います。

以下は、前回書いた処理を少し変えました。
Keihinクラスの1行目はプライマリコンストラクタになります。
3行目はセカンダリコンストラクタです。
このセカンダリコンストラクタは複数書けます。

このプライマリコンストラクタは、以下のようにconstructorを省略しても書けます。
セカンダリコンストラクタのconstructorは省略できません。

main関数はこう書きます。
第3引数を書けばセカンダリコンストラクタが定義されます。
第2引数までであればプライマリコンストラクタが定義されます。

実行しましょう。
イメージとしては、セカンダリコンストラクタはプライマリコンストラクタの引数を拡張させた形でしょうか。
プライマリとセカンダリ

まとめると、
■プライマリコンストラクタ
・「()」の付いたクラス名はプライマリコンストラクタになる。
(上記であれば、「class Keihin{・・・・・}」と書けば普通のクラスになります。)

■セカンダリコンストラクタ
・クラス名なしで「constructor」を付ければセカンダリコンストラクタになる。
・複数指定できる。
・this指定でプライマリコンストラクタを呼び出せる。

Kotlinのコンストラクタに関しては、もっと複雑な理解と使い方ができそうです。

今回はここまで🤚

では、また次回。

この記事をシェアする

コメント

コメントはありません。

down コメントを残す