Делегируемые свойства — это способ делегировать логику получения (get) и установки (set) значения свойства другому объекту. Это позволяет вынести повторяющийся код и сделать классы более компактными.
Основные компоненты:
ReadOnlyProperty
(для val
) или ReadWriteProperty
(для var
). Он содержит логику для getValue()
и опционально setValue()
.by
: Ключевое слово в Kotlin, используемое для связывания свойства с его делегатом.Примеры стандартных делегатов:
lazy
: Инициализация свойства происходит только при первом доступе к нему.
kotlin
delegates.observable
: Выполняет действие после каждого присваивания значения свойству.
kotlin
delegates.vetoable
: Позволяет перехватить присваивание значения и отменить его, если условие не выполняется.
kotlin
Делегируемые свойства — это способ делегировать логику получения (get) и установки (set) значения свойства другому объекту. Это позволяет вынести повторяющийся код и сделать классы более компактными.
Основные компоненты:
ReadOnlyProperty
(для val
) или ReadWriteProperty
(для var
). Он содержит логику для getValue()
и опционально setValue()
.by
: Ключевое слово в Kotlin, используемое для связывания свойства с его делегатом.Примеры стандартных делегатов:
lazy
: Инициализация свойства происходит только при первом доступе к нему.
kotlin
delegates.observable
: Выполняет действие после каждого присваивания значения свойству.
kotlin
delegates.vetoable
: Позволяет перехватить присваивание значения и отменить его, если условие не выполняется.
kotlin
Register or sign in to get access to full answers for all questions from the question bank.