Junior — Middle
Kun je de beschikbare constructors voor Sealed Class opsommen en beschrijven?
sobes.tech AI
Antwoord van AI
Sealed Class in Kotlin is een klasse die overerving beperkt: alle subklassen moeten in hetzelfde bestand worden gedeclareerd.
Wat betreft constructors voor sealed klassen:
- De sealed klasse zelf kan constructors hebben, zoals een gewone klasse.
- Subklassen van de sealed klasse kunnen hun eigen constructors hebben.
- Gewoonlijk wordt de sealed klasse als abstract gedeclareerd, en kan haar constructor beschermd of openbaar zijn.
Voorbeeld:
sealed class Result {
data class Success(val data: String) : Result()
data class Error(val error: Throwable) : Result()
}
Hier heeft de sealed klasse Result geen expliciete constructor, maar de subklassen Success en Error hebben hun eigen constructors met parameters.
Dus, de sealed klasse zelf kan constructors hebben, maar meestal zijn het de constructors van haar erfgenamen die belangrijk zijn, omdat ze de specifieke varianten definiëren.