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