Slide 44
Slide 44 text
Observable
class Person(val name: String, a: Int, s: Int) {
private val observer = {
prop: KProperty<*>, old: Int, new: Int ->
println("[${prop.name}] $old => $new")
}
var age by Delegates.observable(a, observer)
var salary by Delegates.observable(s, observer)
}
fun main(args: Array) {
val person = Person("Alice", 25, 2000)
person.age++
person.salary += 100
}
[age] 25 => 26
[salary] 2000 => 2100