Sobes.tech
Junior — Middle

Ko saprot ar ierobežotu mantošanas klasi un kā tā tiek izmantota Kotlin?

sobes.tech AI

Atbilde no AI

Kotlin valodā klase ar ierobežotu mantošanu ir klase, kuru nevar brīvi manto, bet tikai no noteiktām klasēm vai noteiktos moduļos. Tam tiek izmantots atslēgas vārds sealed (noslēgta klase).

Noslēgtas klases ļauj ierobežot mantošanas hierarhiju: visas apakšklases jādeklarē tajā pašā failā, kurā ir pati noslēgtā klase. Tas ir noderīgi, īstenojot ierobežotu opciju kopumu, piemēram, strādājot ar stāvokļiem vai rezultātiem.

Piemērs, kā izmantot noslēgto klasi:

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("Dati: ${result.data}")
        is Result.Error -> println("Kļūda: ${result.error.message}")
        Result.Loading -> println("Ielādē...")
    }
}

Tādējādi, noslēgtā klase ierobežo mantošanu un ļauj kompilatoram pārbaudīt when izteikumu pilnīgumu.