Junior — Middle
Какви аргументи и параметри приема методът getValue при делегиран обект?
sobes.tech AI
Отговор от AI
Методът getValue на делегиран обект в Kotlin приема три параметъра:
- thisRef — обектът, към който се прилага делегатът (обикновено инстанция на класа, в който е обявено свойството). Типът на параметъра съответства на типа на собственика на свойството.
- property — обект от тип
KProperty<*>, който съдържа информация за самото свойство (например името на свойството).
Подписът на метода изглежда така:
operator fun getValue(thisRef: Any?, property: KProperty<*>): T
където T е типът на стойността, която връща свойството.
Пример:
class Delegate {
operator fun getValue(thisRef: Any?, property: KProperty<*>): String {
return "Стойност за свойството '${property.name}'"
}
}
class Example {
val prop: String by Delegate()
}
fun main() {
val e = Example()
println(e.prop) // Ще изведе: Стойност за свойството 'prop'
}