Sobes.tech
Junior — Middle

¿Qué argumentos y parámetros acepta el método getValue en un objeto delegado?

sobes.tech AI

Respuesta de la IA

El método getValue en un objeto delegado en Kotlin acepta tres parámetros:

  1. thisRef — el objeto al que se aplica el delegado (generalmente una instancia de la clase donde se declara la propiedad). El tipo del parámetro corresponde al tipo del propietario de la propiedad.
  2. property — un objeto de tipo KProperty<*>, que contiene información sobre la propiedad en sí (por ejemplo, el nombre de la propiedad).

La firma del método es:

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

donde T es el tipo del valor de retorno de la propiedad.

Ejemplo:

class Delegate {
    operator fun getValue(thisRef: Any?, property: KProperty<*>): String {
        return "Valor para la propiedad '${property.name}'"
    }
}

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

fun main() {
    val e = Example()
    println(e.prop) // Imprime: Valor para la propiedad 'prop'
}