0
我是新來的科特林,我不知道如何解釋這一點,但這個例子應該足夠科特林調用類代表團變異函數
interface Walker{
var position:Pair<Int,Int>
fun walk(to:Pair<Int,Int>){
position = to;
}
fun trip()
}
class People(override var position: Pair<Int, Int>):Walker{
override fun trip() {
Log.v("TP","Ouch!!")
}
}
class Superman(override var position: Pair<Int, Int>): Walker by People(position){
}
當我打電話
val sm = Superman(Pair(0,0))
sm.walk(Pair(2,2))
Log.v("TP","${sm.position}" //It give (0,0) instead of (2,2)
是否還使用委託
我認爲這是行不通的,因爲改變的位置是在班級「人」但不是班級「超人」 – user2568161