mplatvoet
02/17/2016, 10:02 AMfun 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