Kotlin编程相关知识点介绍


类代理


在Kotlin编程中,很容易实现实现代理模式方式,只需要给代理类去实现父接口,且指定一个对象来代理接口中的全部公开方法。

代理模式:给实现继承提供了很好的代理方式,将实际业务和附带业务分割开来。

package com.xingen.kotlin.day2017529.pm

fun main(args: Array<String>) {
   var b=BaseInterfaceImpl("一个类的被另外一个类所代理")
    Derived(b).test()
}
interface  BaseInterface{
    fun  test()
}
class BaseInterfaceImpl(var str:String):BaseInterface{
    override fun test() {
      println(str)
    }
}

/**
 * 指定一个代理类:
 
 * 通过by从句,将b存储在Derived内部对象中
 * b对象可以调用BaseInterface中所有公开方法
 */
class Derived(b:BaseInterface):BaseInterface by b

输出结果:

一个类的被另外一个类所代理

可知:

  • 代理类需要实现父接口
  • 代理类中需要指定一个对象,去代理接口的全部公开方法

在这里插入图片描述
转成java代码后,发现通过接口 by 方式来实现代理,也是调用了接口的公开方法,从而实现代理隔开。

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐