Sobes.tech
Junior — Middle

Ar įmanoma inicializuoti sealed klasės objektą Kotlin?

sobes.tech AI

Atsakymas iš AI

Kotlin'e, sealed klasė yra klasė su ribotu paveldėtojų skaičiumi, apibrėžta tame pačiame faile. Sealed klasė paprastai yra abstrakti ir tiesiogiai sukurti negalima.

Gali būti sukurti tik jos paveldėtojai, kurie konkrečiai įgyvendina sealed klasę. Pavyzdžiui:

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

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

Taigi, tiesiogiai sukurti sealed klasės objektą neįmanoma, tačiau galima sukurti jos paveldėtojų objektus.