Junior — Middle
Kokius argumentus ir parametrus priima getValue metodas deleguoto objekto?
sobes.tech AI
Atsakymas iš AI
Kotlin'e deleguoto objekto getValue metodas priima tris parametrus:
- thisRef — objektas, kuriam taikomas delegatas (dažniausiai tai yra klasės, kurioje deklaruota savybė, egzempliorius). Parametro tipas atitinka savybės savininko tipą.
- property —
KProperty<*>tipo objektas, kuris turi informaciją apie pačią savybę (pavyzdžiui, savybės pavadinimą).
Metodas pasirašytas taip:
operator fun getValue(thisRef: Any?, property: KProperty<*>): T
kur T yra savybės grąžinamosios reikšmės tipas.
Pavyzdys:
class Delegate {
operator fun getValue(thisRef: Any?, property: KProperty<*>): String {
return "Reikšmė savybei '${property.name}'"
}
}
class Example {
val prop: String by Delegate()
}
fun main() {
val e = Example()
println(e.prop) // Išves: Reikšmė savybei 'prop'
}