Я Kotlin новичок. Я не уверен, правильно ли я стараюсь. Теперь я хочу переопределить и захватить переменные .
Предположим, это метод класса SOMETHING
, который можно переопределить:
fun whoAreYou() {}
И это моя функция :
fun thisFuntionsIs(): ()->Unit {
var i = 0
println("It's parent Function!")
return { println("It's child Function! ${i++}") }
}
Теперь я попытался переопределить существующую функцию новой:
fun whoAreYou() = thisFuntionsIs() // Suppose used the override keyword
Теперь, когда я запускаю эту функцию, она каждый раз выводит «родительское» сообщение.
Это не то, что я хотел.
Если бы whoAreYou
было свойством, а не методом, оно бы сработало, я хотел.
class SOMETHING {
var whoAreYou = ()->{} // If it was a property...
// fun whoAreYou() {} // But the current situation is
}
SOMETHING.whoAreYou = thisFuntionsIs()
SOMETHING.whoAreYou() // Yea~ I wanted that
Есть ли решение? Или я совершенно не прав? Пожалуйста, помогите мне.