Назад к вопросам
Junior — Middle
72
Можешь перечислить типы делегатов, используемых в Kotlin?
Компании, где спрашивали
Инити
Ответ от нейросети
sobes.tech AI
В Kotlin делегаты используются для делегирования реализации свойств или поведения. Основные типы делегатов:
-
Стандартные делегаты:
lazy— ленивое вычисление значения свойства при первом обращении.observable— позволяет отслеживать изменения значения свойства с помощью колбэка.vetoable— похож наobservable, но позволяет отменять изменение значения.
-
Делегаты для хранения свойств:
notNull— свойство, которое должно быть инициализировано до первого использования, иначе бросит исключение.
-
Делегаты для делегирования интерфейсов:
- Использование ключевого слова
byдля делегирования реализации интерфейса другому объекту.
- Использование ключевого слова
Пример использования lazy:
val lazyValue: String by lazy {
println("Вычисление значения")
"Hello"
}
Таким образом, делегаты в Kotlin позволяют удобно управлять поведением свойств и делегировать реализацию.