Junior — Middle
Kotlin dasturlash tilida delegatlangan xususiyatlarning ishlash prinsipi haqida tushuntiring.
sobes.tech AI
AIdan javob
Kotlin'da, delegatli xususiyatlar, xususiyatning o'qish va yozish operatsiyalarini boshqa ob'ektga — delegatga — yo'naltirish imkonini beradi. Bu ma'lumotlarga kirish mantiqini qayta ishlatishni soddalashtiradi.
Sintaksis:
var xususiyatNomi: Turi by delegat
Masalan, standart lazy delegati qiymatni birinchi murojaatda boshlaydi:
val lazyQiymat: String by lazy {
println("Qiymat hisoblanmoqda")
"Salom, Kotlin!"
}
fun main() {
println(lazyQiymat) // Bu yerda qiymat hisoblanadi va chiqariladi
println(lazyQiymat) // Bu yerda qiymat cache'dan olinadi
}
O'zingizning delegatlaringizni ReadOnlyProperty yoki ReadWriteProperty interfeyslarini amalga oshirish orqali yaratishingiz mumkin. Delegatlar kechiktirilgan boshlash, o'zgarishlarni kuzatish, xaritalarda saqlash va boshqalar uchun foydalidir.