Junior — Middle
Che nima chelim cheklangan merosga ega sinf va u Kotlin'da qanday ishlatiladi?
sobes.tech AI
AIdan javob
Kotlin'da cheklangan merosxo'rlik bilan sinf, tasodifan merosxo'rlik qilinmaydigan, faqat ma'lum sinflar yoki ma'lum modullardan meros oladigan sinf hisoblanadi. Buning uchun sealed (muhri bilan yopilgan) kalit so'z ishlatiladi.
Muhri bilan yopilgan sinflar merosxo'rlik ierarxiyasini cheklash imkonini beradi: barcha voris sinflar bir xil faylda, ya'ni muhrlangan sinf bilan birga e'lon qilinishi kerak. Bu, masalan, holatlar yoki natijalar bilan ishlashda cheklangan variantlar to'plamini amalga oshirish uchun qulay.
Muhri bilan yopilgan sinfdan foydalanish misoli:
sealed class Result {
data class Success(val data: String) : Result()
data class Error(val error: Throwable) : Result()
object Loading : Result()
}
fun handleResult(result: Result) {
when(result) {
is Result.Success -> println("Ma'lumotlar: ${result.data}")
is Result.Error -> println("Xato: ${result.error.message}")
Result.Loading -> println("Yuklanmoqda...")
}
}
Shu tarzda, muhrlangan sinf merosxo'rlikni cheklaydi va kompilator when ifodalarining to'liqligini tekshirish imkonini beradi.