Questa funzione sembra non essere implementata in alcun modo.
@ commento di AndreyBreslav su un similar question:
Non è possibile sostituire i metodi Java con proprietà Kotlin al momento. Sarebbe bello se si potesse sostenerlo, ma non sappiamo come farlo in modo coerente per le gerarchie miste
questo non risolve il problema, ma almeno rende il codice di compilazione: si può cambiare nome JVM del getter con la @JvmName
annotation:
interface A {
fun getFoo(): SomeType
}
class B: A {
override fun getFoo() = foo
val foo: SomeType = someValue()
@JvmName("getFoo_") get() = field
}
Inoltre, considerare il passaggio ad un approccio più idiomatica: definire il val
-property nell'interfaccia, in modo che è possibile ignorare che l'attuazione s:
interface A {
val foo: SomeType
}
class B : A {
override val foo: SomeType = someValue()
}
class C : A {
override val foo: SomeType
get() = someCustomGetter()
}
UPD: Aggiunto un approccio Kotlin più idiomatico. – hotkey