Sobes.tech
Junior — Middle

Чектелген мурас клас деп эмне түшүндүрүлөт жана ал Kotlinде кантип колдонулат?

sobes.tech AI

AIден жооп

Kotlinде чектелген мурас классы — бул арбитраждуу мурас алууга болбойт, гана белгилүү класстар же белгилүү модулдар аркылуу мурас алууга болот. Бул үчүн sealed (жабылган) ачкыч сөз колдонулат.

Жабылган класстар мурас иерархиясын чектөөгө мүмкүндүк берет: бардык подкласстар ошол эле файлда, ошол эле sealed класстын ичинде жарыялануусу керек. Бул чектелген варианттар топтомун ишке ашыруу үчүн пайдалуу, мисалы, абалдар же натыйжалар менен иштөөдө.

Мисал катары sealed классты колдонуу:

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("Маалыматтар: ${result.data}")
        is Result.Error -> println("Ката: ${result.error.message}")
        Result.Loading -> println("Жүктөө...")
    }
}

Мындайча айтканда, жабылган класс мурас алууну чектейт жана компиляторго when өрнөктөрүнүн толуктуулугун текшерүүгө мүмкүндүк берет.