Junior — Middle
Quali argomenti e parametri accetta il metodo getValue di un oggetto delegato?
sobes.tech AI
Risposta dell'AI
Il metodo getValue di un oggetto delegato in Kotlin accetta tre parametri:
- thisRef — l'oggetto a cui si applica il delegato (solitamente un'istanza della classe in cui è dichiarata la proprietà). Il tipo del parametro corrisponde al tipo del proprietario della proprietà.
- property — un oggetto di tipo
KProperty<*>, che contiene informazioni sulla proprietà stessa (ad esempio, il nome della proprietà).
La firma del metodo è:
operator fun getValue(thisRef: Any?, property: KProperty<*>): T
dove T è il tipo del valore restituito dalla proprietà.
Esempio:
class Delegate {
operator fun getValue(thisRef: Any?, property: KProperty<*>): String {
return "Valore per la proprietà '${property.name}'"
}
}
class Example {
val prop: String by Delegate()
}
fun main() {
val e = Example()
println(e.prop) // Stampa: Valore per la proprietà 'prop'
}