[ 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
    }
}
相关推荐
Yang-Never1 小时前
Shader -> BitmapShader贴图着色器详解
android·开发语言·kotlin·android studio·贴图·着色器
命运之手2 小时前
[ Kotlin ] Integrate ProtoBuffer and GoogleRPC Into KotlinNative
android·kotlin·grpc·proto-buffer·kotlin-native
android_cai_niao5 小时前
kotlin项目无法访问Java类的问题
kotlin·kotlin测试·kotlin无法访问java
Dnelic-14 小时前
Kotlin | Android Provider 的实现案例
android·数据库·kotlin·provider·自学笔记
zhangphil19 小时前
Android ValueAnimator根据屏幕刷率动态出帧/刷新,Kotlin
android·kotlin
芝士就是力量啊 ೄ೨19 小时前
Kotlin 循环语句详解
android·java·开发语言·kotlin
Alex老夫子19 小时前
kotlin sortedBy 与sortedWith的区别
android·开发语言·kotlin
我命由我123451 天前
Kotlin 极简小抄 P5(异常、异常处理、自定义异常)
android·java·开发语言·java-ee·kotlin·intellij-idea·intellij idea
Yang-Never2 天前
Shader -> SweepGradient扫描渐变着色器详解
android·java·kotlin·android studio·着色器