Sobes.tech
Junior — Middle

Ce argumente și parametri acceptă metoda getValue într-un obiect delegat?

sobes.tech AI

Răspuns de la AI

Metoda getValue a unui obiect delegat în Kotlin acceptă trei parametri:

  1. thisRef — obiectul asupra căruia se aplică delegatul (de obicei, o instanță a clasei în care este declarat atributul). Tipul parametrului corespunde tipului proprietarului atributului.
  2. property — un obiect de tip KProperty<*>, care conține informații despre atributul în sine (de exemplu, numele atributului).

Semnătura metodei este:

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

unde T este tipul valorii returnate de atribut.

Exemplu:

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

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

fun main() {
    val e = Example()
    println(e.prop) // Va afișa: Valoare pentru atributul 'prop'
}