Kotlin
Objets singleton
Recherche…
Introduction
Un objet est un type spécial de classe, qui peut être déclaré en utilisant le mot-clé object
. Les objets sont similaires à Singletons (un motif de conception) en Java. Il fonctionne également comme la partie statique de Java. Les débutants qui passent de Java à Kotlin peuvent largement utiliser cette fonctionnalité, à la place de statique, ou de singletons.
Utiliser comme repalcement des méthodes statiques / champs de java
object CommonUtils {
var anyname: String ="Hello"
fun dispMsg(message: String) {
println(message)
}
}
De toute autre classe, appelez simplement la variable et fonctionne de la manière suivante:
CommonUtils.anyname
CommonUtils.dispMsg("like static call")
Utiliser comme un singleton
Les objets Kotlin ne sont en réalité que des singletons. Son principal avantage est que vous n'avez pas besoin d'utiliser SomeSingleton.INSTANCE
pour obtenir l'instance du singleton.
En Java, votre singleton ressemble à ceci:
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");
}
Dans kotlin, le code équivalent est
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")
}
C'est évidemment moins verbeux à utiliser.