Sobes.tech
Назад к вопросам
Junior — Middle
70

Возможна ли инициализация объекта sealed-класса в Kotlin?

Компании, где спрашивали
RedLab

Ответ от нейросети

sobes.tech AI

В Kotlin sealed-класс — это класс с ограниченным набором наследников, определённых в том же файле. Сам sealed-класс обычно абстрактный и не может быть напрямую инициализирован.

Инициализировать можно только его подклассы, которые конкретно реализуют sealed-класс. Например:

sealed class Result {
    data class Success(val data: String) : Result()
    object Failure : Result()
}

val result1: Result = Result.Success("OK")
val result2: Result = Result.Failure

Таким образом, объект sealed-класса напрямую создать нельзя, но можно создать объекты его наследников.