Junior — Middle
Vysvětlete princip fungování delegovaných vlastností v programovacím jazyce Kotlin.
sobes.tech AI
Odpověď od AI
V Kotlinu umožňují delegované vlastnosti přesměrovat operace čtení a zápisu vlastnosti na jiný objekt — delegáta. To usnadňuje opakované použití logiky přístupu k datům.
Syntaxe:
var názevVlastnosti: Typ přes delegáta
Například standardní delegát lazy inicializuje hodnotu při prvním použití:
val lazyHodnota: String přes lazy {
println("Výpočet hodnoty")
"Ahoj, Kotlin!"
}
fun main() {
println(lazyHodnota) // Hodnota bude vypočtena a vypsána
println(lazyHodnota) // Hodnota bude načtena z cache
}
Můžete vytvářet vlastní delegáty implementací rozhraní ReadOnlyProperty nebo ReadWriteProperty. Delegáty jsou užitečné pro implementaci vlastností s odloženou inicializací, sledováním změn, ukládáním do map atd.