Sobes.tech
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.