Sobes.tech
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.