Anulación de la fuerza Kotlin de una function

Estoy creando una class base.
Tengo start () con algún código .
Y una barra () que necesita ser sobreescrita por una class que henetworkinga Foo

start () llamadas bar ()

Mi ejemplo (foo.kt):

open class Foo { fun start() { bar() //... } fun bar() { TODO("implement me in deriving class") } } 

No me gusta bar () lanzando una exception . No me gusta salir de la barra () con el cuerpo en blanco tampoco

¿Hay algo que olvidé que es una mejor alternativa en Kotlin?

Puedes hacer que tu método (y, por consiguiente, tu class) sea abstract :

 abstract class Foo { fun start() { bar() //... } abstract bar() } 

Esto forzará a cualquier class no abstracta que henetworkinge de Foo a implementar el método de bar , y también evitará que cualquier persona cree directamente una instancia de la class base de Foo .

Puede cambiar el código pnetworkingeterminado generado en Android Studio / Intellij:

 File -> Settings Then look for Editor -> File and Code Templates Code -> New Kotlin Function Body 

Reemplazar TODO("not implemented") con // TODO: not implemented

  • Kotlin AAR library w / proguard: ¿cómo mantener los methods de extensión?
  • : aplicación: error de kaptDebugKotlin al ejecutar testing unitaria
  • Kotlin: ¿Cómo obtengo caracteres después de "@" en una cadena?
  • Respuesta fragmentada de Vert.x con los datos de la database usando BLOB e hibernación
  • Kotlin: itera sobre los componentes del object
  • No se puede publicar contenido web dynamic con Spring Boot y Kotlin
  • CaptunetworkingTypeConstructor (*) no es un subtipo de RealmModel
  • Suprima las quejas de Dokka sobre "No hay documentation para com.foo.Bar $ toString ()"?
  • ¿Cómo simplificar múltiples controles de igual a igual en las condiciones?
  • Cómo llamar al constructor String de Java (char , int offset, int length) de Kotlin?
  • Escuchar posts y escribir commands en un flujo observable