kotlin学习之类委托

我刚看到这个词的时候感觉很蒙,没见过这样的叫法啊,类还叫委托,于是就研究了一会,这里说一下我自己对类委托的认识,我感觉类委托其实就是扩展了一个类型,为它能添加新的功能并且能不去继承这个类,从而不过多的重写方法, 只需要扩展自己需要添加功能的方法就行了。

例子

class ClassDelegate<T>(val innerSet: MutableCollection<T> = HashSet()): MutableCollection<T> by innerSet {
    var objectsAdded = 0

    override fun add(element: T): Boolean {
        objectsAdded++
        return innerSet.add(element)
    }

    override fun addAll(elements: Collection<T>): Boolean {
        objectsAdded += elements.size
        return innerSet.addAll(elements)
    }
}
0 0 vote
Article Rating
Subscribe
提醒
guest
0 评论
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x