Kotlin 知识梳理(4)

来源:互联网 发布:淘宝货到付款的衣服 编辑:程序博客网 时间:2024/06/18 12:28

(转载)http://www.jianshu.com/p/5f03cb52a040

2.2 类委托

当我们需要向一个类添加一些行为时,一般有两种做法:

  • 继承这个类,在子类中增加方法
    这种方法的缺点是:当系统不断演进并且基类的实现被修改或者新方法被添加进去时,你做出的关于类的行为的假设会失效。
  • 使用装饰器模式
    本质是创建一个新类,实现与原始类一样的接口并将原来的类的实例作为一个字段保存。与原始类拥有同样行为的方法不用修改,只需要直接转发到原始类的实例。这种方法的缺点是:需要相当多的样板代码。

Kotlin将委托作为一个语言级别的功能做了头等支持。无论什么时候实现一个接口,你都可以使用by关键字将接口的实现委托到另一个对象;当需要修改某些方法的行为时,可以重写它们,这样你的方法就会被调用而不是使用生成的方法,可以保留感到满意的委托给内部的实例中的默认实现。



运行结果为:


作者:泽毛
链接:http://www.jianshu.com/p/5f03cb52a040
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

原创粉丝点击