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