Sobes.tech
Junior — Middle

Aké argumenty a parametre akceptuje metóda getValue u delegovanom objekte?

sobes.tech AI

Odpoveď od AI

Metóda getValue u delegovanom objekte v Kotlinu akceptuje tri parametra:

  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'
}