Kotlin
Singleton objecten
Zoeken…
Invoering
Een object is een speciaal soort klasse, dat kan worden gedeclareerd met behulp van het object
trefwoord. Objecten zijn vergelijkbaar met Singletons (een ontwerppatroon) in Java. Het functioneert ook als het statische deel van Java. Beginners die overschakelen van Java naar Kotlin kunnen deze functie enorm gebruiken, in plaats van statisch of singletons.
Gebruik als herverdeling van statische methoden / velden van Java
object CommonUtils {
var anyname: String ="Hello"
fun dispMsg(message: String) {
println(message)
}
}
Roep vanuit elke andere klasse de variabele en functies op deze manier aan:
CommonUtils.anyname
CommonUtils.dispMsg("like static call")
Gebruik als een singleton
Kotlin-objecten zijn eigenlijk alleen singletons. Het belangrijkste voordeel is dat je SomeSingleton.INSTANCE
niet hoeft te gebruiken om de instantie van de singleton te krijgen.
In Java ziet je singleton er zo uit:
public enum SharedRegistry {
INSTANCE;
public void register(String key, Object thing) {}
}
public static void main(String[] args) {
SharedRegistry.INSTANCE.register("a", "apple");
SharedRegistry.INSTANCE.register("b", "boy");
SharedRegistry.INSTANCE.register("c", "cat");
SharedRegistry.INSTANCE.register("d", "dog");
}
In kotlin is de equivalente code
object SharedRegistry {
fun register(key: String, thing: Object) {}
}
fun main(Array<String> args) {
SharedRegistry.register("a", "apple")
SharedRegistry.register("b", "boy")
SharedRegistry.register("c", "cat")
SharedRegistry.register("d", "dog")
}
Het is duidelijk minder uitgebreid om te gebruiken.
Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow