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