Junior — Middle
Възможно ли е инициализирането на обект от sealed клас в Kotlin?
sobes.tech AI
Отговор от AI
В Kotlin, sealed класът е клас с ограничен набор от наследници, дефинирани в същия файл. Самият sealed клас обикновено е абстрактен и не може да бъде създаден директно.
Могат да бъдат създадени само неговите подкласове, които конкретно реализират sealed класа. Например:
sealed class Result {
data class Success(val data: String) : Result()
object Failure : Result()
}
val result1: Result = Result.Success("OK")
val result2: Result = Result.Failure
По този начин, обект на sealed класа не може да бъде създаден директно, но могат да бъдат създадени обекти на неговите подкласове.