Junior — Middle
Je možné inicializovat objekt třídy sealed v Kotlinu?
sobes.tech AI
Odpověď od AI
V Kotlinu je sealed třída třída s omezeným počtem potomků, definovaná ve stejném souboru. Sama sealed třída je obvykle abstraktní a nelze ji přímo inicializovat.
Lze inicializovat pouze její podtřídy, které konkrétně implementují sealed třídu. Napří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 způsobem nelze přímo vytvořit objekt sealed třídy, ale lze vytvořit objekty jejích podtříd.