Junior — Middle
Welche Argumente und Parameter akzeptiert die Methode getValue bei einem delegierten Objekt?
sobes.tech KI
Antwort von AI
Die Methode getValue eines delegierten Objekts in Kotlin akzeptiert drei Parameter:
- thisRef — das Objekt, auf das der Delegierte angewendet wird (normalerweise eine Instanz der Klasse, in der die Eigenschaft deklariert ist). Der Parametertyp entspricht dem Typ des Eigentümers der Eigenschaft.
- property — ein Objekt vom Typ
KProperty<*>, das Informationen über die Eigenschaft selbst enthält (z.B. den Namen der Eigenschaft).
Die Signatur der Methode lautet:
operator fun getValue(thisRef: Any?, property: KProperty<*>): T
wobei T der Rückgabetyp der Eigenschaft ist.
Beispiel:
class Delegate {
operator fun getValue(thisRef: Any?, property: KProperty<*>): String {
return "Wert für die Eigenschaft '${property.name}'"
}
}
class Example {
val prop: String by Delegate()
}
fun main() {
val e = Example()
println(e.prop) // Gibt aus: Wert für die Eigenschaft 'prop'
}