Код IT Загрузка примера кода…

Kotlin main.kt
interface Logger {
    fun log(message: String)
}

class ConsoleLogger : Logger {
    override fun log(message: String) = println("[INFO] $message")
}

class Service(logger: Logger) : Logger by logger {
    fun process() {
        logger.log("Starting...")
        // ...
        log("Finished.") // делегирует вызов logger.log()
    }
}
interface Logger {
    fun log(message: String)
}

class ConsoleLogger : Logger {
    override fun log(message: String) = println("[INFO] $message")
}

class Service(logger: Logger) : Logger by logger {
    fun process() {
        logger.log("Starting...")
        // ...
        log("Finished.") // делегирует вызов logger.log()
    }
}