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.