【Kotlin入門】関数「get」「set」の編集

Kotlin
スポンサーリンク

こんにちは😀

今回も、Kotlinのプロパティをみていきます。

スポンサーリンク

通常の「get」「set」関数

省略できる「get」「set」ですが、改めて書くとすると以下のようになります。
●get関数

get():Int{

return field
}

●set関数

set(num){

field = num
}

プロパティの「get」「set」関数を編集する

前回もちょとだけやりましたが、通常使用であれば省略できる「get」「set」も、処理を拡張したい場合は書き換えることが可能です。

では、書いてみましょう。
以下のクラスの「get」関数には、ログ出力を追加しています。
「set」関数には、if文の処理とログ出力を追加しています。
if文は、所持している番号によって出力するログを変えています。
また、番号が1以上の場合は、新しい番号をセットしています。

class Seacret(){

var num:Int=112233

get():Int{

if(field==112233) println(“番号を変えてください。”)
return field
}

set(num){

if(num <= 0){

println(“番号が不正です。”)
} else {

println(“変更します。”)
field = num
}
}
}

main関数を書いてみましょう。
5行目でget関数を呼んでいます。
7、8行目でset関数を呼んでいます。

fun main(args: Array<String>) {

val newnum = Seacret()

println(“現在の番号は、${newnum.num}です。”)

newnum.num = 0
newnum.num = 99900

println(“新しい番号は、${newnum.num}です。”)
}

実行します。
main関数の7行目で「0」をセットしているので、「番号が不正です。」が出力されています。
プロパティ2−1

最後に一言・・・

だいたいは、通常の省略形を使う感じになるかと思いますが、今回のようにログやif文を使用できるように普通の関数として利用できます。
応用の幅が広がりますね。

今回はここまで🤚

では、また次回。

 

【Kotlin入門一覧はこちら】

コメント

タイトルとURLをコピーしました