Kotlin 中的“by”关键字有什么作用?


Kotlin 通过引入新的关键字“by”来支持设计模式的委派。使用此关键字或委派方法,Kotlin 允许派生类通过特定对象访问接口的所有实现的公共方法。

示例

在示例中,我们将实现另一个类中的基类抽象方法。

interface Base {
   //abstract method
   fun printMe()
}

class BaseImpl(val x: Int) : Base {
   // implementation of the method
   override fun printMe() { println(x) }
}

// delegating the public method on the object b
class Derived(b: Base) : Base by b

fun main(args: Array<String>) {
   val b = BaseImpl(10)

   // prints 10 :: accessing the printMe() method
   Derived(b).printMe()
}

输出

将产生以下输出

10

更新于:2021-11-23

4K+ 次浏览

开启您的 职业生涯

通过完成课程获得认证

开始
广告