Properties and Encapsulation
Backing Field
Use field inside a setter to store a normalized value.
Backing Field
BackingField.kt
class Label {
var text: String = "ready"
set(value) {
field = value.trim()
}
}
fun main() {
val raw =
val label = Label()
label.text = raw
val clean = label.text
println("clean=$clean")
println("length=${clean.length}")
}
class Label {
var text: String = "ready"
set(value) {
field = value.trim()
}
}
fun main() {
val raw =
val label = Label()
label.text = raw
val clean = label.text
println("clean=$clean")
println("length=${clean.length}")
}
class Label {
var text: String = "ready"
set(value) {
field = value.trim()
}
}
fun main() {
val raw =
val label = Label()
label.text = raw
val clean = label.text
println("clean=$clean")
println("length=${clean.length}")
}
field
Inside a custom accessor, `field` refers to the property's backing storage.