Sobes.tech
Junior — Middle

Welke argumenten en parameters accepteert de methode getValue bij een gedelegeerd object?

sobes.tech AI

Antwoord van AI

De getValue-methode van een gedelegeerd object in Kotlin accepteert drie parameters:

  1. thisRef — het object waarop de delegate wordt toegepast (meestal een instantie van de klasse waarin de eigenschap is gedeclareerd). Het type van de parameter komt overeen met het type van de eigenaar van de eigenschap.
  2. property — een object van het type KProperty<*>, dat informatie bevat over de eigenschap zelf (bijvoorbeeld de naam van de eigenschap).

De handtekening van de methode is:

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

waar T het type van de waarde is die door de eigenschap wordt geretourneerd.

Voorbeeld:

class Delegate {
    operator fun getValue(thisRef: Any?, property: KProperty<*>): String {
        return "Waarde voor de eigenschap '${property.name}'"
    }
}

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

fun main() {
    val e = Example()
    println(e.prop) // Drukt af: Waarde voor de eigenschap 'prop'
}