Sobes.tech
Junior — Middle

Kotlin'de veya benzer bir dilde sealed class nasıl çalışır açıklayabilir misiniz?

sobes.tech yapay zeka

AI'dan gelen yanıt

Sealed class в 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}")
    }
}

Такой подход помогает сделать код более безопасным и удобным для обработки ограниченного набора вариантов.