Kotlin的代理模式

最近我发现了一个Kotlin的代理模式 觉得很有意思,接下里我们一起来学习学习

我们在学校java中会有接口 然后通过实现去实现一些方法来使用,那么在Kotlin中我们也有

1、我们首先定义一个接口

interface  Base{
    fun print()
}

不难看出我们定义了一个Base的接口 中有一个print的一个方法

2、然后我们通过一个带参的类去实现它

class  BaseImpl(val x:Int):Base{
    override fun print() {

        println(x)
    }
}

我们定义了一个BaseImpl的类 并带有x的参数 去实现Base接口
会自动重写接口里的print()方法 这个时候我们把他打印 也就是说如果我们传入什么参数就会通过
接口的方法打印出来

3、by的使用

class  Derived(b:Base):Base by  b

我们再定义一个类 是接口的参数 并实现这个接口 用by关键字
在这里我们要明白by是可以去实现接口里的所有公共方法 最后by后边我们把
参数类型为Base接口的b 写到后边

4、最后我们看一看打印结果

   val b = BaseImpl(10)
    Derived(b).print()

通过BaseImpl方法传入参数10 并通过我们可以实现接口所有的公共方法的Derived去
调用接口离得打印方法 最后输出 10

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值