Middle
Que delegados padrão conhece?
sobes.tech IA
Resposta da IA
by lazy— usado para inicialização preguiçosa de uma propriedade. O valor é calculado na primeira referência à propriedade e é armazenado em cache.val lazyValue: String by lazy { println("initialized") // Será executado apenas na primeira referência "Hello" }Delegates.observable— delegado que permite executar uma ação a cada alteração do valor da propriedade.import kotlin.properties.Delegates var name: String by Delegates.observable("valor inicial") { prop, old, new -> println("Valor alterado para ${prop.name} de $old para $new") }Delegates.vetoable— delegado que permite interceptar a alteração do valor de uma propriedade e cancelá-la com base em uma condição.import kotlin.properties.Delegates var age: Int by Delegates.vetoable(10) { prop, old, new -> new >= 0 // Apenas valores não negativos são permitidos }