Sobes.tech
Junior — Middle

Можете ли да обясните как работи sealed class в Kotlin или подобен език?

sobes.tech AI

Отговор от AI

Sealed клас в Kotlin е специален тип клас, който ограничава наследяването. Всички подкласове на sealed класа трябва да бъдат обявени в същия файл като самия sealed клас. Това позволява на компилатора да знае всички възможни варианти на наследници и да ги използва, например, в изрази when, без да е необходимо да се пише else.

Пример:

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}")
    }
}

Този подход помага да се направи кодът по-безопасен и удобен за обработка на ограничен набор от варианти.