Sobes.tech
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:

  1. 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.
  2. 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'
}