Kotlin
Objetos singleton
Buscar..
Introducción
Un objeto es un tipo especial de clase, que se puede declarar utilizando la palabra clave object
. Los objetos son similares a Singletons (un patrón de diseño) en Java. También funciona como la parte estática de java. Los principiantes que cambian de java a kotlin pueden usar ampliamente esta función, en lugar de estática o singletons.
Utilizar como repalcement de métodos estáticos / campos de java
object CommonUtils {
var anyname: String ="Hello"
fun dispMsg(message: String) {
println(message)
}
}
Desde cualquier otra clase, simplemente invoca la variable y las funciones de esta manera:
CommonUtils.anyname
CommonUtils.dispMsg("like static call")
Utilizar como un singleton
Los objetos de Kotlin son en realidad solo singletons. Su principal ventaja es que no tiene que usar SomeSingleton.INSTANCE
para obtener la instancia del singleton.
En java tu singleton se ve así:
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");
}
En kotlin, el código equivalente es
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")
}
Obviamente es menos verboso de usar.
Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow