Junior — Middle
Da li je moguće u Kotlinu kreirati klasu označenu kao sealed, koja nasleđuje od druge sealed klase?
sobes.tech АИ
Одговор од АИ
В 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. Такой подход позволяет создавать более сложные иерархии с контролируемым набором наследников.