Skip to main content
Journey Uncommon Logo
JourneyUncommon
mediumKotlinclass delegation bySingle-choice MCQ

When a class delegates an interface to a constructor parameter, what is the lifetime/visibility of that delegate parameter inside the class?

interface Logger { fun log(m: String) } class FileLogger : Logger { override fun log(m: String) {} } class Service(logger: Logger) : Logger by logger { fun doWork() { // can we reference `logger` here? } }