Middle
¿Qué delegados estándar conoces?
sobes.tech AI
Respuesta de la IA
by lazy— se usa para la inicialización diferida de una propiedad. El valor se calcula en la primera referencia a la propiedad y se almacena en caché.val lazyValue: String by lazy { println("initialized") // Solo se ejecuta en la primera referencia "Hello" }Delegates.observable— delegado que permite realizar una acción en cada cambio del valor de la propiedad.import kotlin.properties.Delegates var name: String by Delegates.observable("valor inicial") { prop, old, new -> println("El valor de ${prop.name} cambió de $old a $new") }Delegates.vetoable— delegado que permite interceptar el cambio de valor de una propiedad y cancelarlo en función de una condición.import kotlin.properties.Delegates var age: Int by Delegates.vetoable(10) { prop, old, new -> new >= 0 // Solo se permiten valores no negativos }