Sobes.tech
Junior — Middle

Оё метавонед намудҳои делегатҳоро, ки дар Kotlin истифода мешаванд, номбар кунед?

sobes.tech AI

Ҷавоб аз AI

Дар Kotlin, делегатҳо барои додани иҷрои хусусиятҳо ё рафтор истифода мешаванд. Намуди асосии делегатҳо:

  • Делегатҳои стандартӣ:

    • lazy — ҳисобкунии бефосилаи арзиши хусусият дар аввалин дастрасӣ.
    • observable — имкон медиҳад, ки тағйиротҳои арзиши хусусият тавассути қайтаришро пайгирӣ кунад.
    • vetoable — монанди observable, аммо имкон медиҳад, ки тағйироти арзишро бекор кунад.
  • Делегатҳо барои нигоҳдории хусусиятҳо:

    • notNull — хусусият, ки бояд пеш аз истифодаи аввалини он оғоз шавад, вагарна истисно меандозад.
  • Делегатҳо барои додани иҷрои интерфейсҳо:

    • Истифодаи калимаи калидӣ by барои додани иҷрои интерфейс ба объекти дигар.

Масалан барои истифодаи lazy:

val lazyValue: String by lazy {
    println("Ҳисобкунии арзиш")
    "Hello"
}

Инчунин, делегатҳо дар Kotlin имкон медиҳанд, ки рафтор ва хусусиятҳоро ба осонӣ идора ва додани иҷрои онҳоро делегат кунанд.