Diese Funktion scheint in keiner Weise implementiert zu sein.
@ AndreyBreslav Kommentar auf einem similar question:
Sie können nicht außer Kraft setzen Java-Methoden mit Kotlin Eigenschaften im Moment. Es wäre schön, wenn wir sie unterstützen können, aber wir wissen nicht, wie es für gemischte Hierarchien
Diese konsequent tun löst nicht das Problem, aber zumindest macht den Code Kompilierung: Sie ändern können JVM Name des Getter mit den @JvmName
annotation:
interface A {
fun getFoo(): SomeType
}
class B: A {
override fun getFoo() = foo
val foo: SomeType = someValue()
@JvmName("getFoo_") get() = field
}
bedenken Sie auch zu einem idiomatischen Ansatz zu ändern: definiert die val
-property in Ihrer Schnittstelle, so dass Sie es bei der Umsetzung außer Kraft setzen können s:
interface A {
val foo: SomeType
}
class B : A {
override val foo: SomeType = someValue()
}
class C : A {
override val foo: SomeType
get() = someCustomGetter()
}
UPD: Hinzugefügt einen Kotlin-idiomatischen Ansatz. – hotkey