Sobes.tech
Junior — Middle

Was ist der Zweck einer Klasse, die mit dem Modifier sealed deklariert wurde?

sobes.tech KI

Antwort von AI

Eine Klasse, die mit dem Modifikator sealed deklariert ist, dient dazu, die Vererbung einzuschränken. Solche Klassen können Unterklassen haben, aber nur solche, die im selben Datei deklariert sind. Dies ermöglicht die Kontrolle und Fixierung der Vererbungs-Hierarchie, wodurch sie vorhersehbarer und sicherer wird.

Zum Beispiel werden in Kotlin sealed-Klassen häufig verwendet, um eine begrenzte Anzahl von Zuständen oder Varianten darzustellen, was bei der Arbeit mit when-Ausdrücken praktisch ist, bei denen der Compiler die Vollständigkeit der Behandlung aller Varianten überprüfen kann.

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("Daten: ${result.data}")
        is Result.Error -> println("Fehler: ${result.error.message}")
    }
}