Kotlin -- 委托
来源:互联网 发布:windows update打不开 编辑:程序博客网 时间:2024/06/05 09:25
概述
所谓委托模式 ,就是为其他对象提供一种代理以控制对这个对象的访问,在Java开发过程中,是继承模式之外的很好的解决问题的方案,不熟悉委托模式的,可以参考博委托模式。
对于Kotlin而言,其直接支持委托模式,从而避免为了实现模式而不得不写那些常规的代码。又不得不赞叹,Kotlin的优雅,简洁。
by
Kotlin中,委托的实现依靠于关键字 by ,by表示将抽象主题的实例(by后边的实例)保存在代理类实例的内部,比如SportsManager类继承于ISports接口,并可以ISports接口的所有的 public 方法委托给一个指定的对象。
interface ISports { fun doSports()}class SwimForSports: ISports{ override fun doSports() { println("do swim") }}class SportsManager(sport: ISports): ISports by sportfun main(args: Array<String>) { val swimSports: SwimForSports = SwimForSports() SportsManager(swimSports).doSports()// Log:do swim}
在SportsManager声明中,by子句表示,将sport保存在SportsManager的对象实例内部,而且编译器将会生成继承自 ISports 接口的所有方法, 并将调用转发给sport。
阅读全文
0 0
- Kotlin-委托
- Kotlin -- 委托
- kotlin 委托
- Kotlin委托
- Kotlin-委托属性
- android Kotlin 委托
- Kotlin学习之委托机制
- 轻松掌握Kotlin委托机制
- kotlin委托属性+SharedPreference实例
- Kotlin开发Android笔记11:Kotlin中属性委托
- Kotlin随笔 委托属性之延迟加载
- Kotlin-19.代理/委托类(Delegation)
- Kotlin-20.代理/委托属性(delegated properties)
- Kotlin-Android世界的一股清流-委托
- kotlin学习笔记——委托属性
- Kotlin的委托属性和区间
- Kotlin委托&扩展&高阶函数
- 学习kotlin第十天_对象、委托、委托属性
- OPNET 14.5“模型计算机类型与目标计算机类型冲突”的问题
- no cmake c_compiler could be found问题解决方法
- Linux基础-6(Samba服务)
- 如何在CAD中将矢量地图与卫星影像完美叠加
- 项目性能监控javamelody和数据库监控druid
- Kotlin -- 委托
- linux超级基础系列—什么是shell? bash和shell有什么关系?
- iOS ijkplayer stream_open 函数详解
- XCode启动时候卡住无法打开项目的解决方法
- 同步,异步与多线程的关系
- sd卡的了解(一)
- nginx 限制并发连接数 limit_zone one
- iOS ijkplayer 数据缓存过程 详解
- 我的前端开发之路---谨以记录工作中那些踩过的坑,持续更新中~~