Junior — Middle
Jakie argumenty i parametry przyjmuje metoda getValue w obiekcie delegata?
sobes.tech AI
Odpowiedź od AI
Metoda getValue w obiekcie delegowanym w Kotlinie przyjmuje trzy parametry:
- thisRef — obiekt, do którego stosowany jest delegat (zwykle jest to instancja klasy, w której zadeklarowana jest właściwość). Typ parametru odpowiada typowi właściciela właściwości.
- property — obiekt typu
KProperty<*>, zawierający informacje o samej właściwości (np. nazwa właściwości).
Sygnatura metody wygląda tak:
operator fun getValue(thisRef: Any?, property: KProperty<*>): T
gdzie T jest typem zwracanego przez właściwość wartości.
Przykład:
class Delegate {
operator fun getValue(thisRef: Any?, property: KProperty<*>): String {
return "Wartość dla właściwości '${property.name}'"
}
}
class Example {
val prop: String by Delegate()
}
fun main() {
val e = Example()
println(e.prop) // Wypisze: Wartość dla właściwości 'prop'
}