Sobes.tech
Junior — Middle

Explica el principio de funcionamiento de las propiedades delegadas en el lenguaje de programación Kotlin.

sobes.tech AI

Respuesta de la IA

En Kotlin, las propiedades delegadas permiten redirigir las operaciones de lectura y escritura de una propiedad a otro objeto, el delegado. Esto simplifica la reutilización de la lógica de acceso a los datos.

Sintaxis:

var nombreDePropiedad: Tipo por delegado

Por ejemplo, el delegado estándar lazy inicializa el valor en la primera llamada:

val valorLazy: String por lazy {
    println("Cálculo del valor")
    "¡Hola, Kotlin!"
}

fun main() {
    println(valorLazy) // Aquí se calculará y mostrará el valor
    println(valorLazy) // Aquí se tomará del caché
}

Puedes crear tus propios delegados implementando la interfaz ReadOnlyProperty o ReadWriteProperty. Los delegados son útiles para implementar propiedades con inicialización diferida, observación de cambios, almacenamiento en mapas, etc.