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.



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow