Sobes.tech
Junior — Middle

Възможно ли е в Kotlin да създадете клас, маркиран като sealed, който наследява от друг sealed клас?

sobes.tech AI

Отговор от 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. Този подход позволява създаването на по-сложни йерархии с контролирано множество наследници.