Sobes.tech
Junior — Middle

Кадом аргумент ва параметрҳоро қабул мекунад усули getValue дар объекти делегат?

sobes.tech AI

Ҷавоб аз AI

Метод getValue дар объект делегат дар Kotlin се қабул мекунад се параметр:

  1. thisRef — объект, ки ба он делегат татбиқ мешавад (одатан нусхаи синф, ки дар он хосият эълон шудааст). Типи параметр мувофиқ ба типи соҳиби хосият.
  2. property — объект аз навъи KProperty<*>, ки маълумот дар бораи худи хосият дорад (масалан, номи хосият).

Ҳаёти метод чунин аст:

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

ки T навъи арзиши баргардонидашудаи хосият аст.

Масал:

class Delegate {
    operator fun getValue(thisRef: Any?, property: KProperty<*>): String {
        return "Арзиши барои хосияти '${property.name}'"
    }
}

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

fun main() {
    val e = Example()
    println(e.prop) // Мебарояд: Арзиши барои хосияти 'prop'
}