Sobes.tech
Junior — Middle

Quels arguments et paramètres le méthode getValue d'un objet délégué accepte-t-il?

sobes.tech IA

Réponse de l'IA

La méthode getValue d'un objet délégué en Kotlin accepte trois paramètres:

  1. thisRef — l'objet auquel le délégué est appliqué (habituellement une instance de la classe où la propriété est déclarée). Le type du paramètre correspond au type du propriétaire de la propriété.
  2. property — un objet de type KProperty<*>, qui contient des informations sur la propriété elle-même (par exemple, le nom de la propriété).

La signature de la méthode est :

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

T est le type de la valeur renvoyée par la propriété.

Exemple :

class Delegate {
    operator fun getValue(thisRef: Any?, property: KProperty<*>): String {
        return "Valeur pour la propriété '${property.name}'"
    }
}

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

fun main() {
    val e = Example()
    println(e.prop) // Affiche : Valeur pour la propriété 'prop'
}