接口代理
来源:互联网 发布:生产线电子看板数据 编辑:程序博客网 时间:2024/06/01 12:07
在实现接口时,我们可以通过by代理,将另一个实现接口的类的实例作为当前的接口实现,也就是把另一个接口实现类作为默认的实现;
class MyListener : Transition.TransitionListener by EmptyTransitionListener { override fun onTransitionStart(transition: Transition) { }}object EmptyTransitionListener : Transition.TransitionListener { override fun onTransitionEnd(transition: Transition) {} override fun onTransitionResume(transition: Transition) {} override fun onTransitionPause(transition: Transition) {} override fun onTransitionCancel(transition: Transition) {} override fun onTransitionStart(transition: Transition) {}}//也可以直接使用class,但是作为代理时就必须创建class的实例;class MyListener : Transition.TransitionListener by EmptyTransitionListener() { override fun onTransitionStart(transition: Transition) { }}class EmptyTransitionListener : Transition.TransitionListener { override fun onTransitionEnd(transition: Transition) {} override fun onTransitionResume(transition: Transition) {} override fun onTransitionPause(transition: Transition) {} override fun onTransitionCancel(transition: Transition) {} override fun onTransitionStart(transition: Transition) {}}
在代理模式中的运用
在使用代理模式时,我们将接口实例注入到类的构造方法中,在Kotlin中通过使用by代理,我们可以不用
在类中实现对应类的方法:
比如:
一般的构造注入方式:
interface C{ fun cc()}//在构造方法中,我们必须实现C的方法ccclass BiBi(val c:C):C{ override fun cc() { c.cc() }}
通过by代理实现,我们调用方法cc会直接指向到接口实例中:
class BiBi(c: C):C by c
阅读全文
0 0
- 代理接口
- 接口代理
- jdk动态代理接口
- Proxy动态代理接口
- Java复习--接口、代理
- 代理模式(接口隔离)
- 接口代理模式
- 接口--代理设计模式
- Mybatis代理接口
- spring AOP 代理(代理接口)
- 动态代理不通过接口,CGLIB动态代理
- JDK动态代理(接口的代理)
- JDK Proxy实现接口代理
- httpClient 设置代理请求接口
- 纯接口的动态代理
- 基于接口的动态代理
- java代理 InvocationHandler接口实现
- [mybatis]Mapper接口代理开发
- python基础-生成包、导入模块、包下_init_模块(__all__方法)
- win server 安装oracle到12%出错
- TensorFlow实战4:实现简单的多层神经网络案例
- c++编译提示:系统找不到指定路径
- Android 快速搭建App架构
- 接口代理
- Linux下安装rar命令,简易而不简单
- ActiveMQ(三)
- Python编程从入门到实践:习题4-10~4-12
- [NOIP2017][luogu3959]宝藏treasure
- 久未更新,希望能跟上大家的进度,装载问题。
- Salesforce通过Schema Namespace的DescribeSObjectResult Class获取对象的基本信息
- 权限控制filter
- 盒子不占一行