Sobes.tech
Junior — Middle

Jaké argumenty a parametry přijímá metoda getValue u delegovaného objektu?

sobes.tech AI

Odpověď od AI

Metoda getValue u delegovaného objektu v Kotlinu přijímá tři parametry:

  1. thisRef — objekt, na který se delegát aplikuje (obvykle instance třídy, ve které je vlastnost deklarována). Typ parametru odpovídá typu vlastníka vlastnosti.
  2. property — objekt typu KProperty<*>, který obsahuje informace o samotné vlastnosti (například název vlastnosti).

Podpis metody vypadá takto:

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

kde T je typ hodnoty vrácené vlastností.

Příklad:

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

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

fun main() {
    val e = Example()
    println(e.prop) // Vypíše: Hodnota pro vlastnost 'prop'
}