2017-06-02 48 views
3

如何调用超级的扩展功能?Kotlin:我怎样称呼super的扩展功能?

例如:

open class Parent { 
    open fun String.print() = println(this) 
} 

class Child : Parent() { 
    override fun String.print() { 
     print("child says ") 
     super.print() // syntax error on this 
    } 
} 

回答

2

即使print()功能的Parent内部定义,它属于String,不Parent。所以没有print功能,你可以拨打Parent,这是你想要做的super

我不认为有语法支持您正在尝试在Kotlin中执行的呼叫类型。