Back to questions
Junior — Middle
70
В каких случаях и в каких местах следует использовать объявление sealed class?
Companies where asked
Ubic
Answer from AI
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.