Another example of interface delegation: ``` fun m...
# announcements
m
Another example of interface delegation:
Copy code
fun main(args: Array<String>) {
    val p = Person(Name("Mark"), Age(35))
    println("${p.name} ${p.age}")
}

interface Namable {
    val name :String
}


interface Ageable {
    val age :Int
}

class Age(override val age:Int) : Ageable
class Name(override val name:String) : Namable

class Person(namable: Namable, agable:Ageable) : Namable by namable, Ageable by agable