Sobes.tech
Junior — Middle

Vai ir iespējama sealed klases objekta inicializācija Kotlin?

sobes.tech AI

Atbilde no AI

Kotlin'ā, sealed klase ir klase ar ierobežotu manto veidotāju skaitu, kas definēta tajā pašā failā. Sealed klase parasti ir abstrakta un tieši nav iespējams to izveidot.

Tikai tās apakšklases, kas konkrēti realizē sealed klasi, var tikt izveidotas. Piemēram:

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

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

Tādējādi, tieši izveidot sealed klases objektu nav iespējams, bet tās apakšklases objektus var izveidot.