Sobes.tech
Junior — Middle

Kādus argumentus un parametrus pieņem getValue metode delegēta objekta?

sobes.tech AI

Atbilde no AI

Kotlina delegētā objekta getValue` metode pieņem trīs parametrus:

  1. thisRef — objekts, uz kuru tiek piemērots delegāts (parasti tas ir klases instances, kurā ir deklarēta īpašība). Parametra tips atbilst īpašības īpašnieka tipam.
  2. property — objekts no KProperty<*> tipa, kas satur informāciju par pašu īpašību (piemēram, īpašības nosaukumu).

Metodes paraksts ir šāds:

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

kur T ir īpašības atgrieztās vērtības tips.

Piemērs:

class Delegate {
    operator fun getValue(thisRef: Any?, property: KProperty<*>): String {
        return "Vērtība īpašībai '${property.name}'"
    }
}

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

fun main() {
    val e = Example()
    println(e.prop) // Izdrukās: Vērtība īpašībai 'prop'
}