Назад к вопросам
Junior — Middle
67
Возможно ли в Kotlin создать класс, помеченный как sealed, который будет наследоваться от другого sealed класса?
Компании, где спрашивали
RedLab
Ответ от нейросети
sobes.tech AI
В Kotlin класс, помеченный как sealed, может наследоваться от другого sealed класса. При этом наследник тоже может быть sealed, что позволяет создавать иерархии с ограниченным набором подклассов на нескольких уровнях. Главное условие — все подклассы sealed класса должны находиться в том же файле, что и сам sealed класс.
Пример:
sealed class Animal {
sealed class Mammal : Animal() {
class Dog : Mammal()
class Cat : Mammal()
}
class Bird : Animal()
}
Здесь Mammal — это sealed класс, наследующийся от sealed класса Animal. Такой подход позволяет создавать более сложные иерархии с контролируемым набором наследников.