La function de la interfaz choca con el getter de Property

El nombre de la function de una interfaz entra en conflicto con el nombre getter de una propiedad intencionalmente, pero está prohibido por el comstackdor debido a un problema de anulación accidental. ¿Es posible indicarle al comstackdor que esto es intencional?

interface A { fun getFoo() } class B: A { val foo } 

Esta característica parece no implementarse de ninguna manera.

@ Comentario de Andrey Breslav sobre una pregunta similar :

No puede anular los methods de Java con las properties de Kotlin en este momento. Sería bueno si pudiéramos apoyarlo, pero no sabemos cómo hacerlo de manera consistente para jerarquías mixtas


Esto no resuelve su problema, pero al less hace que el código se compile: puede cambiar el nombre JVM del getter con la anotación @JvmName :

 interface A { fun getFoo(): SomeType } class B: A { override fun getFoo() = foo val foo: SomeType = someValue() @JvmName("getFoo_") get() = field } 

Además, considere cambiar a un enfoque más idiomático: defina val property en su interfaz, para que pueda anularlo en las implementaciones:

 interface A { val foo: SomeType } class B : A { override val foo: SomeType = someValue() } class C : A { override val foo: SomeType get() = someCustomGetter() } 
  • Cómo eludir NetworkOnMainThreadException en Kotlin
  • ¿Cómo puedo crear una matriz en Kotlin como en Java simplemente proporcionando un tamaño?
  • ¿Kotlin tiene una function de identidad?
  • ¿Kotlin apoya la comprensión monádica?
  • Error de la aplicación IBM Bluemix Cloud Foundry SpringBoot kotlin
  • Cómo usar @link y @code en kotlin kDoc
  • ¿Cómo hacer un COUNT (*) con GROUP BY en Kotlin?
  • Compatibilidad de Kotlin con @ColorInt Java Annotation
  • ¿Cómo puedo inicializar la variable antes de cada testing usando el marco kotlin-test
  • ¿Deben colocarse los files de Kotlin en un directory de origen separado en Android?
  • ¿Cuál es la forma correcta de jerarquizar los correladores y manipuladores de ruta Ktor para una implementación típica de REST?