Sobes.tech
Junior — Middle

Ist es möglich, ein Objekt einer sealed-Klasse in Kotlin zu initialisieren?

sobes.tech KI

Antwort von AI

In Kotlin ist eine sealed class (versiegelte Klasse) eine Klasse mit einer begrenzten Anzahl von Unterklassen, die im selben Datei definiert sind. Die sealed class selbst ist in der Regel abstrakt und kann nicht direkt instanziiert werden.

Nur ihre Unterklassen, die die sealed class konkret implementieren, können instanziiert werden. Zum Beispiel:

sealed class Result {
    data class Success(val data: String) : Result()
    object Failure : Result()
}

val result1: Result = Result.Success("OK")
val result2: Result = Result.Failure

Auf diese Weise kann kein Objekt der sealed class direkt erstellt werden, aber Objekte ihrer Unterklassen können erstellt werden.