Junior — Middle
Kas saaksite selge, kuidas töötab sealed class Kotlinis või sarnases keeles?
sobes.tech AI
Vastus AI-lt
Kotlinis on sulet klass eriline klassitüüp, mis piirab pärilust. Kõik sulet klassi alamklassid peavad olema deklareeritud samas failis, kus asub ise suletud klass. See võimaldab kompilaatoril teada kõik võimalikud pärilased variandid ja neid kasutada, näiteks when väljendites, ilma et oleks vaja kirjutada else.
Näide:
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("Andmed: ${result.data}")
is Result.Error -> println("Viga: ${result.error.message}")
}
}
See lähenemine aitab muuta koodi turvalisemaks ja mugavamaks piiratud valikute töötlemiseks.