Questionable conventions

Report a typo

You've been given the following code with questionable naming conventions.

interface foo {
    fun printMessage()
}

class bar(val x: String) : foo {
    override fun printMessage() {
        print(x)
    }
}

class baz(base: foo) : foo by base {
    override fun printMessage() {
        print("Hello Kotlin")
    }
}

fun main() {
    val b = bar("Hello Delegate")
    baz(b).printMessage()
}

Can you identify all of these elements?

Match the items from left and right columns

foo

bar

baz

baz(b).printMessage()

Interface implemented by delegate
Basic implementation of the interface
Class which utilizes delegate
Passing delegate to the constructor
___

Create a free account to access the full topic