美文网首页
Kotlin学习之初探——Delegate代理

Kotlin学习之初探——Delegate代理

作者: Shawn_GBWang | 来源:发表于2020-09-07 09:35 被阅读0次

代理是什么

接口代理:对象x代替当前类a实现接口b*的方法
*属性代理:对象x代替属性a实现getter/setter方法,lazy就是一个属性代理

举例说明

interface Api {
fun method1()
fun method2()
fun method3()
}
class ApiTest : Api{
override fun method1() {
Log.i("shawn","ApiTest=method1")
}
override fun method2() {
Log.i("shawn","ApiTest=method2")
}
override fun method3() {
Log.i("shawn","ApiTest=method3")
}
}
/**
* 对象api代替ApiWrapper实现接口Api
* */
class ApiWrapper(api:Api) : Api by api{
override fun method1() {
Log.i("shawn","ApiWrapper=method1")
}
}
调用:val a:ApiTest = ApiTest()
val b:ApiWrapper = ApiWrapper(a)
b.method1()
b.method2()
输出结果:ApiWrapper=method1
ApiTest=method2

属性代理Setter/Getter

   val name: String by lazy {
        name1.split(" ")[0]
    }
    var state:Int by Delegates.observable(100){
        property, oldValue, newValue ->
        Log.i("shawn", "oldValue=${oldValue},newValue=$newValue")
    }

相关文章

  • Kotlin学习之初探——Delegate代理

    代理是什么 接口代理:对象x代替当前类a实现接口b*的方法*属性代理:对象x代替属性a实现getter/sette...

  • iOS 逆向传值

    代理(delegate)、通知(NSNotification),block等等。 1、委托代理delegate只能...

  • 整理维护下干货,慢慢学习

    热门技术Kotlin初探Kotlin成了Google的亲儿子,现在赶紧来学学跟着google学习mvp架构跟着go...

  • Kotlin初探(二)数据加载

    内容 Part 1:Kotlin初探(一)基础构建 Part2:Kotlin初探(二)数据加载 UI界面就是一个简...

  • 1.Kotlin 内存泄漏初探

    Kotlin 内存泄漏初探 写在前面: 最近在学习熟悉号称Android第一语言的--Kotlin,作为一名...

  • Kotlin学习目录

    Kotlin学习目录 一、Kotlin学习之函数和变量二、Kotlin学习之类和属性三、Kotlin学习之枚举和W...

  • Kotlin学习之Kotlin初识

    Kotlin学习之Kotlin初识 @(Kotlin学习) 一、什么是Kotlin? Kotlin,是JetBra...

  • iOS开发常见问题集之Delegate

    0 关键词 代理模式、delegate 1 概述 Delegate是Cocoa的精髓之一,Delegate在Coc...

  • Delegate代理

    我理解的代理就是我想做一件事,但是这件事在我的管理范围外,那我就拜托能管理操作这件事的人来做。 比如,自定义一个c...

  • Delegate 代理

    什么是代理? 代理类似于生活中的中介机构,当某人有一个租房买房等需求时,某人找到中介,告诉中介自己的身份和联系方式...

网友评论

      本文标题:Kotlin学习之初探——Delegate代理

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