[ 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
    }
}
相关推荐
一条上岸小咸鱼3 小时前
Kotlin 基本数据类型(一):Numbers
android·前端·kotlin
一条上岸小咸鱼21 小时前
Kotlin 基本数据类型(一):概述及分类
android·kotlin
Harry技术1 天前
Trae搭建Android项目:智能存储柜表结构设计以及实体生成
android·kotlin·trae
Harry技术1 天前
Trae搭建Android开发:项目中Ktor的引入与使用实践
android·kotlin·trae
前行的小黑炭2 天前
Android App:每次想写新项目锻炼一下,但苦于没有UI,那么这篇文章适合你~(适合基础小白锻炼)
android·kotlin
pengyu2 天前
【Kotlin系统化精讲:柒】 | 数据类型之复合及高级数据类型:构建复杂程序的万能钥匙
android·kotlin
xzkyd outpaper2 天前
Kotlin 协程启动方式
android·开发语言·kotlin
集成显卡2 天前
在JVM跑JavaScript脚本 | 简单 FaaS 架构设计与实现
开发语言·javascript·jvm·设计模式·kotlin·软件开发·faas
Harry技术2 天前
Trae搭建Android 开发中 MVVM 架构,使用指南:组件、步骤与最佳实践
android·kotlin·trae
q567315233 天前
使用reqwest+select实现简单网页爬虫
开发语言·爬虫·golang·kotlin