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

Можешь перечислить типы делегатов, используемых в Kotlin?

Компании, где спрашивали
Инити

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

sobes.tech AI

В Kotlin делегаты используются для делегирования реализации свойств или поведения. Основные типы делегатов:

  • Стандартные делегаты:

    • lazy — ленивое вычисление значения свойства при первом обращении.
    • observable — позволяет отслеживать изменения значения свойства с помощью колбэка.
    • vetoable — похож на observable, но позволяет отменять изменение значения.
  • Делегаты для хранения свойств:

    • notNull — свойство, которое должно быть инициализировано до первого использования, иначе бросит исключение.
  • Делегаты для делегирования интерфейсов:

    • Использование ключевого слова by для делегирования реализации интерфейса другому объекту.

Пример использования lazy:

val lazyValue: String by lazy {
    println("Вычисление значения")
    "Hello"
}

Таким образом, делегаты в Kotlin позволяют удобно управлять поведением свойств и делегировать реализацию.