我想获得委托类的实例。
具体来说,在以下示例中,我想获取传递的Base
- b
的实例,但在尝试使用b
时出错。
interface Base {
fun print()
}
class BaseImpl(val x: Int) : Base {
override fun print() { print(x) }
}
open class Derived(b: Base) : Base by b {
override fun print() {
printSomethingBefore()
b.print() // b isn't recognized :(
printSomethingAfter()
}
}
答案 0 :(得分:3)
使用b
前缀声明val
可以解决问题:
......派生( val b:基础):基于b ...