Sobes.tech
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.