Junior — Middle
Quais argumentos e parâmetros o método getValue de um objeto delegado aceita?
sobes.tech IA
Resposta da IA
O método getValue de um objeto delegado em Kotlin aceita três parâmetros:
- thisRef — o objeto ao qual o delegado é aplicado (normalmente uma instância da classe onde a propriedade é declarada). O tipo do parâmetro corresponde ao tipo do proprietário da propriedade.
- property — um objeto do tipo
KProperty<*>, que contém informações sobre a própria propriedade (por exemplo, o nome da propriedade).
A assinatura do método é:
operator fun getValue(thisRef: Any?, property: KProperty<*>): T
onde T é o tipo do valor retornado pela propriedade.
Exemplo:
class Delegate {
operator fun getValue(thisRef: Any?, property: KProperty<*>): String {
return "Valor para a propriedade '${property.name}'"
}
}
class Example {
val prop: String by Delegate()
}
fun main() {
val e = Example()
println(e.prop) // Vai imprimir: Valor para a propriedade 'prop'
}