Sobes.tech
Назад к вопросам
Junior — Middle
75

Какие аргументы и параметры принимает метод getValue у делегатного объекта?

Ответ от нейросети

sobes.tech AI

Метод getValue у делегатного объекта в Kotlin принимает три параметра:

  1. thisRef — объект, к которому применяется делегат (обычно это экземпляр класса, в котором объявлено свойство). Тип параметра соответствует типу владельца свойства.
  2. 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'
}