2017-06-02 50 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中執行的呼叫類型。