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

В каких случаях и в каких местах следует использовать объявление sealed class?

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

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

sobes.tech AI

sealed class в Kotlin используется, когда нужно ограничить иерархию наследования определённым набором подклассов. Это удобно, когда все возможные варианты известны заранее и должны быть ограничены в одном месте.

Применять sealed class стоит в случаях, например, когда реализуется состояние UI, результат операции или событие, где набор вариантов фиксирован и не должен расширяться извне.

Места использования:

  • В моделях состояний (State pattern) для UI.
  • При описании результатов функций с несколькими вариантами (успех, ошибка, загрузка).
  • В обработке событий, где все типы событий известны.

Пример:

sealed class Result {
    data class Success(val data: String) : Result()
    data class Error(val error: Throwable) : Result()
    object Loading : Result()
}

Здесь Result ограничивает варианты результата, что облегчает обработку через when без необходимости else.