Sobes.tech
Junior — Middle

Je možné inicializovať objekt sealed triedy v Kotlin?

sobes.tech AI

Odpoveď od AI

V Kotlinu je sealed trieda trieda s obmedzeným počtom potomkov, definovaná v rovnakom súbore. Sama sealed trieda je zvyčajne abstraktná a nemôže byť priamo inicializovaná.

Môžu byť inicializované iba jej podtriedy, ktoré konkrétne implementujú sealed triedu. Napríklad:

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ýmto spôsobom nie je možné priamo vytvoriť objekt sealed triedy, ale je možné vytvoriť objekty jej podtried.