如何使用 super 关键字在派生类中调用基类的扩展函数?
我尝试使用 super 调用,但它不起作用。
open class abc {
open fun aa() {
println("function in abc")
}
}
fun abc.sum() {
println("extension function")
}
class ab: abc() {
override fun aa() {
super.aa()
println("functon in ab")
}
fun sum() {
super.sum()
println("sum function")
}
}
fun main(args: Array < String > ) {
var aa: ab = ab()
aa.aa()
aa.aa()
aa.sum()
}
这里是第 16 个数字行错误来了,我无法调用扩展功能。
最佳答案
这将做:
(this as abc).sum()
super
不起作用,因为扩展函数不是要在派生类中覆盖的基类的成员。
关于kotlin - 使用 super 的 kotlin 中的扩展函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51170152/