October 2019
Intermediate to advanced
434 pages
11h 54m
English
A class that implements an interface may implement all required methods by delegating to a specified delegate instance. In the following code, we've defined a SettingsProvider interface that is then implemented by a SettingsManager object:
interface SettingsProvider { fun getSetting(key: String) : String}object SettingsManager : SettingsProvider { private val map = HashMap<String, String>() override fun getSetting(key: String) = map.getOrDefault(key, "")}
Now, we want to define a UserManager class that will implement SettingsProvider by delegating to SettingsManager:
class UserManager : SettingsProvider by SettingsManager
We start by declaring the class name and adding the SettingsProvider interface, but then we ...
Read now
Unlock full access