2018年01月21日

Kotlinでイニシャライザ、プライマリ・セカンダリコンストラクタを書いてみた

Kotlinスタートブック -新しいAndroidプログラミング

新品価格
¥3,780から
(2018/1/21 21:03時点)



Kotlin スタートアップを読んでて気になった
イニシャライザとコンストラクタを書いてみた

・コード
class Rational(val numerator:Int, val denominator:Int) {
constructor(numerator: Int) : this(numerator, 1) {
println("constructor")
}

init {
println("initialize ${numerator}")
require(denominator != 0)
}
}

fun main(args: Array) {
val half = Rational(1, 2)
println(half.numerator)
println(half.denominator)

val five = Rational(5)
println(five.numerator)
println(five.denominator)
}


・結果
initialize 1
1
2
initialize 5
constructor
5
1


・処理の流れ
コンストラクタ(セカンダリがある場合はパラメータ渡してる)

イニシャライザ

セカンダリコンストラクタ

また、プライマリコンストラクタがあると
セカンダリコンストラクタはプライマリコンストラクタを呼ばないといけない
プライマリがなければ呼ばなくてよい
タグ:Kotlin
posted by マスタカ at 21:04 | Comment(0) | プログラミング | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。