Kotlin委托Delegate托管by

Kotlin委托Delegate托管by

Kotlin 复制代码
import kotlin.reflect.KProperty

fun main() {
    var user: String by MyDelegate()
    user = "fly"
    println(user)
}

class MyDelegate {
    private var v: String? = null

    operator fun getValue(thisRef: Any?, property: KProperty<*>): String {
        return "property='${property.name}' getValue ${v}"
    }

    operator fun setValue(thisRef: Any?, property: KProperty<*>, value: String) {
        v = value
        println("property='${property.name}' setValue -> $value")
    }
}

property='user' setValue -> fly

property='user' getValue fly

Kotlin 复制代码
import kotlin.properties.*

fun main() {
    var len: Int by Delegates.observable(0) { prop, oldValue, newValue ->
        println("$oldValue -> $newValue")
    }

    len = 2023
    len = 2024
}

0 -> 2023

2023 -> 2024

Delegates.observable追踪观察可变数据更新,Kotlin_zhangphil的博客-CSDN博客**Java观察者模式的场景:一个女孩洗澡,被很多男孩偷看。女孩洞察后,搜索坏男孩,然后继续洗澡。*//*男孩Boy.java*/import java.util.Observable;不定长函参的Java观察者模式更新数据传递import java.util.LinkedList;/** * 抽象被观察者。Java观察者模式 : Observer / Observable_zhangphil的博客-CSDN博客。不定长函参的Java观察者模式更新数据传递_zhangphil的博客-CSDN博客。https://blog.csdn.net/zhangphil/article/details/132088085

相关推荐
Kapaseker1 小时前
AI 会干掉 React Native 吗?
android·kotlin
程序员清风17 小时前
算法题中的边界条件、测试与调试
开发语言·算法·kotlin
小宋102118 小时前
用户点踩后怎么变成回归用例:请求快照、反馈聚类与复现率验收
人工智能·回归·kotlin·聚类
传奇开心果编程20 小时前
Compose Multiplatform 共享边界实战:架构契约、互操作同步与可回退设计
kotlin·移动开发·跨平台·cmp·编程语言理论·编程框架·声明式ui
2501_9445257621 小时前
开源鸿蒙平台 KMP_CMP 三方库「Kaml」适配全流程
开源·kotlin·harmonyos
传奇开心果编程2 天前
从替代到粒度:Compose Multiplatform 的决策模式重构已开启跨平台新时代
kotlin·移动开发·跨平台·cmp·编程语言理论·编程框架·声明式ui
三少爷的鞋2 天前
Kotlin 协程,重点就在「协」这个字上
android·kotlin
传奇开心果编程3 天前
【Jetpack Compose娓娓道来】 第25课:ViewModel就是UI界面的大脑
android·kotlin·移动开发·jetpack compose·编程语言理论·编程框架·声明式ui
汪海游龙4 天前
流式回复结尾的那一下闪:逐帧定位 Compose 聊天列表的三处布局跳动
android·性能优化·kotlin
传奇开心果编程4 天前
【Compose Multiplatform跨端声明式UI实用技术】第20课:CMP跨平台经典示例深度解析
kotlin·移动开发·跨平台·编程语言理论·开发范式·编程框架·声明式ui