Sobes.tech
Junior — Middle

Spiega il principio di funzionamento delle proprietà delegate nel linguaggio di programmazione Kotlin.

sobes.tech AI

Risposta dell'AI

In Kotlin, le proprietà delegate consentono di reindirizzare le operazioni di lettura e scrittura di una proprietà a un altro oggetto — il delegato. Questo semplifica il riutilizzo della logica di accesso ai dati.

Sintassi:

var nomeProprietà: Tipo by delegato

Ad esempio, il delegato standard lazy inizializza il valore al primo accesso:

val valoreLazy: String by lazy {
    println("Calcolo del valore")
    "Ciao, Kotlin!"
}

fun main() {
    println(valoreLazy) // Qui il valore viene calcolato e stampato
    println(valoreLazy) // Qui il valore viene preso dalla cache
}

Puoi creare tuoi delegati implementando l'interfaccia ReadOnlyProperty o ReadWriteProperty. I delegati sono utili per implementare proprietà con inizializzazione differita, osservazione delle modifiche, memorizzazione in mappe, ecc.