Middle
Milyen standard delegáltakat ismersz?
sobes.tech MI
Válasz az MI-től
by lazy— a tulajdonság késleltetett inicializálására szolgál. Az érték az első hivatkozáskor kerül kiszámításra és cache-elve lesz.val lazyValue: String by lazy { println("initialized") // Csak az első hivatkozáskor fut le "Hello" }Delegates.observable— delegált, amely lehetővé teszi, hogy minden változáskor végrehajtson egy műveletet.import kotlin.properties.Delegates var name: String by Delegates.observable("kezdeti érték") { prop, old, new -> println("${prop.name} értéke megváltozott $old-ról $new-ra") }Delegates.vetoable— delegált, amely lehetővé teszi, hogy elfogja a tulajdonság értékének változását és letiltsa azt egy feltétel alapján.import kotlin.properties.Delegates var age: Int by Delegates.vetoable(10) { prop, old, new -> new >= 0 // Csak nem negatív értékek megengedettek }