Junior — Middle
Is het mogelijk om een object van een sealed-klasse in Kotlin te initialiseren?
sobes.tech AI
Antwoord van AI
In Kotlin is een sealed class een klasse met een beperkt aantal subklassen, gedefinieerd in hetzelfde bestand. De sealed class zelf is meestal abstract en kan niet direct worden geïnstantieerd.
Alleen de subklassen die specifiek de sealed class implementeren, kunnen worden geïnstantieerd. Bijvoorbeeld:
sealed class Result {
data class Success(val data: String) : Result()
object Failure : Result()
}
val result1: Result = Result.Success("OK")
val result2: Result = Result.Failure
Op deze manier kan geen object van de sealed class direct worden gemaakt, maar kunnen objecten van de subklassen worden gemaakt.