Sobes.tech
Junior — Middle

Kotlin yoki shunga o'xshash tilda sealed class qanday ishlashini tushuntirib berishingiz mumkinmi?

sobes.tech AI

AIdan javob

Kotlin'da sealed class, merosniy cheklovchi maxsus turdagi sinfdir. Barcha sealed sinfning vorislari bir xil faylda e'lon qilinishi kerak. Bu kompilatorga barcha mumkin bo'lgan voris variantlarini bilishga imkon beradi va ularni, masalan, when ifodasida, else yozmasdan ishlatishga imkon beradi.

Misol:

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("Ma'lumotlar: ${result.data}")
        is Result.Error -> println("Xato: ${result.error.message}")
    }
}

Bu yondashuv kodni xavfsizroq qilish va cheklangan variantlar to'plamini boshqarishni qulayroq qilishga yordam beradi.