Kotlin by关键字

委托的概念

委托是一种设计模式,它的基本概念是:操作对象自己不会去处理某段逻辑,而是会把工作委托给另外一个辅助对象去处理。

class NewList(private val list: MutableList) {

    fun isEmpty() = list.isEmpty()

    fun add(item: @UnsafeVariance T) = list.add(item)

    fun remove(item: @UnsafeVariance T) = list.remove(item)

    fun myMethod() {
        // some logic
    }
}

我们在类NewList中定义了几个简单的方法,我们并没有让NewList自己去实现这些方法的逻辑。而是交给了其构造函数中的属性参数list去处理。

委托属性 

委托属性的语法:
val/var <属性名>: <类型> by <表达式>
by关键字后面的表达式是该委托,属性对应的get()set()会被委托给它的getVal

你可能感兴趣的:(Kotlin)