Middle
Koje standardne delegacije poznajete?
sobes.tech АИ
Одговор од АИ
by lazy— koristi se za odloženu inicijalizaciju svojstva. Vrednost se računa pri prvom pristupu svojstvu i kešira.val lazyValue: String by lazy { println("initialized") // Izvršiće se samo pri prvom pristupu "Hello" }Delegates.observable— delegat koji omogućava izvršavanje akcije pri svakoj promeni vrednosti svojstva.import kotlin.properties.Delegates var name: String by Delegates.observable("početna vrednost") { prop, old, new -> println("Vrednost za ${prop.name} se promenila sa $old na $new") }Delegates.vetoable— delegat koji omogućava da se presretnu promene vrednosti svojstva i da se one otkažu na osnovu uslova.import kotlin.properties.Delegates var age: Int by Delegates.vetoable(10) { prop, old, new -> new >= 0 // Dozvoljene su samo nenegativne vrednosti }