fun main(arg: Array<String>) {
val baseImpl = baseImpl()
demo(baseImpl).printL()
}
interface base{
fun printL()
}
class baseImpl(val x:Int):base{
override fun printL() {
print(x)
} }
class demo(b:base) :base by b{//by关键字将base类的printL函数委托给了一个对象
fun getName():String{//自己的方法
return "name"
}
}

可以看出:demo类使用by关键字将base类的printL函数委托给了一个对象.该对象需要通过demo类的主构造器传入,而且该对象类必须实现base接口!

最新文章

  1. Android公共技术收集
  2. SSH实例(2)
  3. jQuery绑定事件的四种方式
  4. plsql登录找不到可连接数据库
  5. Serialize Documents with the C# Driver
  6. IoC 之 2.2 IoC 容器基本原理(贰)
  7. MVC中的Routing
  8. GBDT(Gradient Boosting Decision Tree)算法&amp;协同过滤算法
  9. 最简单的视音频播放示例5:OpenGL播放RGB/YUV
  10. ylbtech-SubwayNav(地铁线路导航)-数据库设计
  11. MySQL(7):数值类型
  12. 浅谈用java解析xml文档(二)
  13. NFS挂载及写入故障
  14. 2014上海全国邀请赛题解 HDOJ 5090-5099
  15. cdoj 斐波那契进制
  16. 物理数据模型(PDM)-&gt;概念数据模型 (CDM)-&gt;面向对象模型 (OOM):适用于已经设计好数据库表结构了。
  17. JS设计模式(三) 数据访问对象模式
  18. 使用git将本地代码传到github
  19. bilibili弹幕爬取
  20. day22:初识面向对象

热门文章

  1. Axure工作区间
  2. 【Intel 汇编】ELF文件
  3. jade安全转义和非转义
  4. ZZNUOJ-2157: 水滴来袭-【干扰阅读-卡模糊精度1e-8的问题】
  5. idea在springboot项目中显示Run Dashboard
  6. Air Raid POJ - 1422 【有向无环图(DAG)的最小路径覆盖【最小不相交路径覆盖】 模板题】
  7. HTML元素常用属性整理
  8. E:last-child
  9. Druid连接池 属性说明
  10. lxr看代码的时候出现中文乱码问题