美文网首页kotlin
49.属性委托

49.属性委托

作者: 写代码的向日葵 | 来源:发表于2019-10-04 23:31 被阅读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
}
  • 就是把一个属性的get和set方法委托给一个对象来处理

相关文章

  • 49.属性委托

    1.代码写法如下: 就是把一个属性的get和set方法委托给一个对象来处理

  • Kotlin-委托,是否被低估了?

    1、属性委托 kotlin中的委托主要分为类的委托和属性的委托,我们先重点来看属性委托,用的比较多。 标准委托 k...

  • Kotlin学习笔记(2)Kotlin委托代码示例

    1,class委托 2,属性委托

  • 委托属性

    场景:有一些属性,在需要的时候才创建。并且只实现一次。延迟属性:首次访问时计算可观察属性:监听器收到有关此属性变量...

  • Kotlin-委托剖析(2)- 属性委托

    简单例子 以下是属性委托的代码, 属性b委托给了属性a,a、b两者数据同步。Tips:可空属性好像不能成为委托对象...

  • iOS学习笔记:添加delegate

    1、委托者添加代理. 2、委托者申明一个属性:委托者里得有一个属性代表被委托者, 注意这个属性是弱引用. 3、被委...

  • 运算符重载 高阶函数

    委托属性class Foo{var p:Type by Delegate()} 使用委托属性: 惰性初始化 和 b...

  • Kotlin-map属性委托

    Kotlin-map属性委托 委托属性在实际开发中是有如下4种使用情况的 1、延迟属性。 2、可观测属性。 3、非...

  • Kotlin | 委托(Delegation)详解

    本文要点概述 辨析委托模式与代理模式 接口委托(Delegated interface) 属性委托(Delegat...

  • Kotlin的委托属性

    委托属性的语法 val/var <属性名>:<类型> by <表达式>在by后面的表达式是改委托,因为属性对应的g...

网友评论

    本文标题:49.属性委托

    本文链接:https://www.haomeiwen.com/subject/ubxepctx.html