razvandragut
08/01/2016, 9:46 PMinterface FunkyInterface {
fun doFunkyStuff(): Unit
}
open class BaseClass (val a: FunkyInterface) : FunkyInterface by a {
private fun somePrivateFunction(): Unit {}
}
// Here you have to pass either a default implementation
// or a full implementation of the interface (NonDefaultImplementation)
class ExtendedClass : BaseClass(NonDefaultImplementation())
class NonDefaultImplementation : FunkyInterface {
override fun doFunkyStuff() {
throw UnsupportedOperationException("not implemented")
}
}