Middle
Ի՞նչ ստանդարտ դելեգատներ եք ճանաչում:
sobes.tech AI
Պատասխան AI-ից
by lazy— օգտագործվում է հատկության հետաձգված սկզբնավորման համար: Արժեքը հաշվարկվում է առաջին դիմումի ժամանակ և պահվում է կեշումում:val lazyValue: String by lazy { println("initialized") // Կիրականացվում է միայն առաջին դիմումի ժամանակ "Hello" }Delegates.observable— դելեգատ, որը թույլ է տալիս կատարել գործողություն յուրաքանչյուր հատկության արժեքի փոփոխության ժամանակ:import kotlin.properties.Delegates var name: String by Delegates.observable("սկզբնական արժեք") { prop, old, new -> println("${prop.name} արժեքը փոխվեց $old-ից $new-ին") }Delegates.vetoable— դելեգատ, որը թույլ է տալիս խոչընդոտել հատկության արժեքի փոփոխությունը և չեղարկել այն որոշ պայմանների հիման վրա:import kotlin.properties.Delegates var age: Int by Delegates.vetoable(10) { prop, old, new -> new >= 0 // Միայն բացասական արժեքները թույլատրվում են }