Junior — Middle
Каква е целта на класа, обявен с помощта на модификатора sealed?
sobes.tech AI
Отговор от AI
Клас, обявен с модификатора sealed, е предназначен за ограничаване на наследяването. Такъв клас може да има подкласове, но само тези, които са обявени в същия файл. Това позволява контрол и фиксиране на йерархията на наследяване, като я прави по-предсказуема и безопасна.
Например, в Kotlin, sealed класовете често се използват за представяне на ограничен набор от състояния или варианти, което е удобно при работа с изрази when, където компилаторът може да провери пълнотата на обработката на всички варианти.
sealed class Result {
data class Success(val data: String) : Result()
data class Error(val error: Throwable) : Result()
}
fun handleResult(result: Result) {
when(result) {
is Result.Success -> println("Данни: ${result.data}")
is Result.Error -> println("Грешка: ${result.error.message}")
}
}