kotlin 类的委托
fun main(arg: Array<String>) { val baseImpl = baseImpl(2) demo(baseImpl).printL() } interface base{ fun printL() } class baseImpl(val x:Int):base{ override fun printL() { print(x) } } class demo(b:base) :base by b{//by关键字将base类的printL函数委托给了一个对象 fun getName():String{//自己的方法 return "name" } }
可以看出:demo类使用by关键字将base类的printL函数委托给了一个对象.该对象需要通过demo类的主构造器传入,而且该对象类必须实现base接口!
最后,关注【码上加油站】微信公众号后,有疑惑有问题想加油的小伙伴可以码上加入社群,让我们一起码上加油吧!!!