こんにちは😀
今回も、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」をセットしているので、「番号が不正です。」が出力されています。
最後に一言・・・
だいたいは、通常の省略形を使う感じになるかと思いますが、今回のようにログやif文を使用できるように普通の関数として利用できます。
応用の幅が広がりますね。
今回はここまで🤚
では、また次回。