[ Kotlin ] Property Delegate

About Property Delegate

property delegate enable you get or set a property value

by DelegateObject.getValue or DelegateObject.setValue

in this way, Delegate object can be reused in similar places

Sources
kotlin 复制代码
fun main() {
    val hello = Hello()
    hello.name = "tom"
    println(hello.name)
}

class Hello {

    var name: String by Delegate()
}

class Delegate {

    private var value = ""

    operator fun getValue(thisRef: Any, property: KProperty<*>): String {
        return "${thisRef.javaClass.simpleName}::${property.name}=${value}"
    }

    operator fun setValue(thisRef: Any, property: KProperty<*>, value: String) {
        this.value = value
    }
}
相关推荐
android_cai_niao14 小时前
快速删除集合中的元素
kotlin·removeif
雨白14 小时前
深入理解 Kotlin 协程 (七):画地为营,解构协程作用域与父子羁绊
kotlin
唐青枫17 小时前
Kotlin Lambda 表达式详解:从基础语法到实战封装
kotlin
帅次18 小时前
Jetpack Compose 动画实战:animateFloatAsState、AnimatedVisibility 与 graphicsLayer 避坑
android·kotlin·gradle·android jetpack
Kapaseker1 天前
学吧!Android 全新的嵌入式照片选择器
android·kotlin
Carson带你学Android2 天前
告别复杂的 Gradle 配置!JetBrains Amper 0.10 发布:用 YAML 构建 Kotlin/Android 项目
kotlin·gradle
Meteors.2 天前
Kotlin代码优化
开发语言·kotlin
疏狂难除2 天前
JetBrains IDE插件开发教程(三)——plugin.xml与命令
ide·kotlin·intellij-idea
Refrain_zc3 天前
Android高含金量实战:音频文本 HTML 标签解析 + 段落分组 + 自定义圆角 SpanUI 渲染
kotlin