Sobes.tech
Junior — Middle

Delegat obyekti uchun getValue metodining qaysi argumentlari va parametrlari mavjud?

sobes.tech AI

AIdan javob

Kotlin'da delegat obyekti getValue metodi uchun uchta parametr qabul qiladi:

  1. thisRef — delegat qoʻllaniladigan ob'ekt (odatda, xususiyat e'lon qilingan sinfning nusxasi). Parametrning turi xususiyat egasining turi bilan mos keladi.
  2. propertyKProperty<*> turidagi ob'ekt boʻlib, u oʻzi haqida maʼlumotlarni oʻz ichiga oladi (masalan, xususiyat nomi).

Metodning imzosi quyidagicha:

operator fun getValue(thisRef: Any?, property: KProperty<*>): T

bu yerda T xususiyatdan qaytariladigan qiymatning turi.

Misol:

class Delegate {
    operator fun getValue(thisRef: Any?, property: KProperty<*>): String {
        return "Xususiyat uchun qiymat '${property.name}'"
    }
}

class Example {
    val prop: String by Delegate()
}

fun main() {
    val e = Example()
    println(e.prop) // Chiqaradi: Xususiyat uchun qiymat 'prop'
}