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.