Sobes.tech
Junior — Middle

Koje argumente i parametre prihvata metoda getValue kod delegatnog objekta?

sobes.tech АИ

Одговор од АИ

Metoda getValue u delegiranog objekta u Kotlinu prihvata tri parametra:

  1. thisRef — objekat na koji se primenjuje delegat (obično instanca klase u kojoj je deklarisana svojstvo). Tip parametra odgovara tipu vlasnika svojstva.
  2. property — objekat tipa KProperty<*>, koji sadrži informacije o samom svojstvu (na primer, ime svojstva).

Potpis metode izgleda ovako:

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

gde je T tip vrednosti koja se vraća svojstvom.

Primer:

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

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

fun main() {
    val e = Example()
    println(e.prop) // Ispisaće: Vrednost za svojstvo 'prop'
}