Ta funkcja nie jest w żaden sposób implementowana.
@ komentarzu AndreyBreslav jest na similar question:
Nie można zastąpić metody Java o właściwościach Kotlin w tej chwili. Byłoby miło, gdybyśmy mogli go wspierać, ale nie wiemy, jak to robić konsekwentnie mieszanych hierarchii
to nie rozwiązuje problemu, ale przynajmniej robi kompilacji kodu: można zmienić Nazwa JVM z getter z @JvmName
annotation:
interface A {
fun getFoo(): SomeType
}
class B: A {
override fun getFoo() = foo
val foo: SomeType = someValue()
@JvmName("getFoo_") get() = field
}
również rozważyć zmianę na bardziej idiomatycznym podejścia: zdefiniować val
-property w interfejsie, dzięki czemu można zastąpić go w realizacji s:
interface A {
val foo: SomeType
}
class B : A {
override val foo: SomeType = someValue()
}
class C : A {
override val foo: SomeType
get() = someCustomGetter()
}
UPD: Dodano bardziej podejście Kotlin-idiomatyczne. – hotkey