February 2018
Intermediate to advanced
350 pages
7h 35m
English
Class delegation is another interesting feature of Kotlin. How? Just think of the following situation.
You have an interface, I, and two classes, A and B. Both A and B implement I. In your code, you've an instance of A and you want to create an instance of B from that A.
In traditional inheritance, it is not directly possible; you have to write a bunch of nasty codes to achieve that, but class delegation is there to save you.
Go through the following code:
interface Person { fun printName() } class PersonImpl(val name:String):Person { override fun printName() { println(name) } } class User(val person:Person):Person by person { override fun printName() { println("Printing Name:") person.printName() } } fun main(args: Array<String>) ...Read now
Unlock full access