Junior — Middle
Explique o princípio de funcionamento das propriedades delegadas na linguagem de programação Kotlin.
sobes.tech IA
Resposta da IA
Em Kotlin, as propriedades delegadas permitem encaminhar operações de leitura e escrita de uma propriedade para outro objeto — o delegado. Isso simplifica a reutilização da lógica de acesso aos dados.
Sintaxe:
var nomeDaPropriedade: Tipo por delegado
Por exemplo, o delegado padrão lazy inicializa o valor na primeira utilização:
val valorLazy: String por lazy {
println("Cálculo do valor")
"Olá, Kotlin!"
}
fun main() {
println(valorLazy) // Aqui o valor será calculado e exibido
println(valorLazy) // Aqui o valor será obtido do cache
}
Você pode criar seus próprios delegados implementando a interface ReadOnlyProperty ou ReadWriteProperty. Delegados são úteis para implementar propriedades com inicialização adiada, observação de mudanças, armazenamento em mapas, etc.