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