Sobes.tech
Junior — Middle

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

sobes.tech AI

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