100%自分の足で栃木県内及び近隣の公園巡り

100%自分の足で栃木県内及び近隣の公園や道の駅に行ってきます。その付近で食べた料理も紹介します。そしてたまにプログラミングやFXもやります。

Kotlin勉強.vo30 セカンダリコンストラクタ

こんにちは、レールカラレートです。

今回はセカンダリコンストラクタの説明をします。

 

前回の勉強

 

www.forties.blog

 

 

前回の勉強でも言いましたが、プライマリコンストラクタは主要のコンストラクタです。

では今回勉強するのはセカンダリコンストラクタは二次的なコンストラクタと言うことになります。

まずは書いてみます。

コンストラクタ6

 

分かりましたでしょうか?

前回はコンストラクタ側で値が入っていない場合にインスタンス化する場合は、必ず全ての値を入れないとエラーになる。と教わりましたよね。

今回インスタンス化したときに入れた値は(20)だけです。名前の値は入っていませんよね。

しかしエラーになっていませんよね。

これはセカンダリコンストラクタがあるからエラーになりませんでした。

constructor(age: Int) : this("名無し", age)

コンストラクタの後のカッコは、この値だけだった場合右側のような値にしましょう。と書かれています。

今回は「ageだけの値だった場合、名前を名無し・ageはageにしてプライマリコンストラクタの値に入れなさい」と書かれています。

その結果イニシャライザブロックが動いているのが分かると思います。

 

セカンダリコンストラクタにも命令を書くことが出来ます。

下記を参照ください。

 

コンストラクタ7

 

表示される順番に注意してください。

プライマリコンストラクタ→セカンダリコンストラクタの順番になります。

セカンダリコンストラクタの使い方は分かったでしょうか?

状況に合わせて必要な場合はセカンダリコンストラクタを使いましょう!

次回はクラスの継承について説明します。

 

 

www.forties.blog