Kotlin
Obiekty Singleton
Szukaj…
Wprowadzenie
Obiekt jest specjalnym rodzajem klasy, który można zadeklarować za pomocą słowa kluczowego object
. Obiekty są podobne do Singletonów (wzorzec projektowy) w Javie. Działa również jako statyczna część Java. Początkujący, którzy przechodzą z java na kotlin, mogą znacznie skorzystać z tej funkcji, zamiast statycznych lub singletonów.
Użyj jako repalcement statycznych metod / pól Java
object CommonUtils {
var anyname: String ="Hello"
fun dispMsg(message: String) {
println(message)
}
}
Z dowolnej innej klasy wystarczy wywołać zmienną i funkcje w ten sposób:
CommonUtils.anyname
CommonUtils.dispMsg("like static call")
Użyj jako singletonu
Obiekty Kotlin są w rzeczywistości singletonami. Jego podstawową zaletą jest to, że nie trzeba używać SomeSingleton.INSTANCE
aby uzyskać instancję singletonu.
W java twój singleton wygląda następująco:
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");
}
W kotlin równoważny kod to
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")
}
Jest to oczywiście mniej gadatliwy w użyciu.
Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow