Junior — Middle
Sealed modifikatori bilan e'lon qilingan sinfning maqsadi nima?
sobes.tech AI
AIdan javob
sealed modifikatori bilan e'lon qilingan sinf meros olishni cheklash uchun mo'ljallangan. Bunday sinfda faqat shu faylda e'lon qilingan subclasslar bo'lishi mumkin. Bu meros olish hierarhiyasini nazorat qilish va uni belgilash imkonini beradi, bu esa uni ko'proq bashoratli va xavfsiz qiladi.
Masalan, Kotlin'da sealed sinflar odatda cheklangan holatlar yoki variantlar to'plamini ifodalash uchun ishlatiladi, bu esa when ifodalarida qulay bo'lib, kompilator barcha variantlarni to'liq ishlashini tekshirishi mumkin.
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'lumot: ${result.data}")
is Result.Error -> println("Xato: ${result.error.message}")
}
}