kotlin

49.属性委托

2019-10-04  本文已影响0人  写代码的向日葵

1.代码写法如下:


fun main(args: Array<String>) {
    val bigHeadSon = BigHeadSon()
    bigHeadSon.money= 200
    println(bigHeadSon.money)
}

class BigHeadSon {
    var money: Int by Monther()
}

class Monther {
    /**
     * 儿子取压岁钱
     */
    operator fun getValue(bigHeadSon: BigHeadSon, property: KProperty<*>): Int {
        return sonMoney
    }

    /**
     * 儿子存压岁钱 i:设置的值
     */
    operator fun setValue(bigHeadSon: BigHeadSon, property: KProperty<*>, money: Int) {
        sonMoney += 50
        minMoney += money - 50
    }

    var sonMoney = 0

    var minMoney = 0
}
上一篇 下一篇

猜你喜欢

热点阅读