kotlin 自定义setter
Posted zhangjin1120
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kotlin 自定义setter相关的知识,希望对你有一定的参考价值。
先看下自定义setter怎么写:
var name: String = ""
set(value)
setEnglishName(value) //设置name值时,也创建enName
field = value
测试一下:
fun main()
var test = SetterTest()
println(test)
test.name = "bella"
println(test)
class SetterTest
var name: String = ""
set(value)
setEnglishName(value) //设置name值时,也创建enName
field = value
var isGirl: Boolean = false
var enName = ""
fun setEnglishName(parm: String)
enName = parm
override fun toString(): String
return "SetterTest(name='$name', isGirl=$isGirl, enName='$enName')"
init
name = "Linda"
isGirl = true
运行结果:
自定义的setter什么时候被调用?
只要变量被赋值,就会自动调用setter。上面的代码,在init
中name = "Linda"
,就会调用name的setter;之后test.name = "bella"
,也会调用setter。
以上是关于kotlin 自定义setter的主要内容,如果未能解决你的问题,请参考以下文章
Kotlin类的初始化 ① ( 成员属性 | Kotlin 自动为成员字段生成 getter 和 setter 方法 | 手动设置成员的 getter 和 setter 方法 | 计算属性 )
Kotlin自定义的getter和mutable list。