Junior — Middle
Оё метавонед намудҳои делегатҳоро, ки дар Kotlin истифода мешаванд, номбар кунед?
sobes.tech AI
Ҷавоб аз AI
Дар Kotlin, делегатҳо барои додани иҷрои хусусиятҳо ё рафтор истифода мешаванд. Намуди асосии делегатҳо:
-
Делегатҳои стандартӣ:
lazy— ҳисобкунии бефосилаи арзиши хусусият дар аввалин дастрасӣ.observable— имкон медиҳад, ки тағйиротҳои арзиши хусусият тавассути қайтаришро пайгирӣ кунад.vetoable— монандиobservable, аммо имкон медиҳад, ки тағйироти арзишро бекор кунад.
-
Делегатҳо барои нигоҳдории хусусиятҳо:
notNull— хусусият, ки бояд пеш аз истифодаи аввалини он оғоз шавад, вагарна истисно меандозад.
-
Делегатҳо барои додани иҷрои интерфейсҳо:
- Истифодаи калимаи калидӣ
byбарои додани иҷрои интерфейс ба объекти дигар.
- Истифодаи калимаи калидӣ
Масалан барои истифодаи lazy:
val lazyValue: String by lazy {
println("Ҳисобкунии арзиш")
"Hello"
}
Инчунин, делегатҳо дар Kotlin имкон медиҳанд, ки рафтор ва хусусиятҳоро ба осонӣ идора ва додани иҷрои онҳоро делегат кунанд.