Back to questions
Middle
150
Какие ограничения существуют у sealed классов в Kotlin?
Answer from AI
sobes.tech AI
Sealed классы в Kotlin имеют следующие ограничения:
- Все подклассы sealed класса должны быть объявлены в том же файле, что и сам sealed класс. Это ограничивает расширяемость вне файла.
- Sealed класс не может быть открыт для наследования вне этого файла, что обеспечивает контроль над иерархией классов.
- Sealed классы не могут быть abstract, но могут содержать абстрактные методы.
Пример:
sealed class Result {
class Success(val data: String) : Result()
class Error(val error: Throwable) : Result()
}
Здесь все наследники Result объявлены в одном файле, что позволяет компилятору знать все возможные варианты наследования.