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