Junior — Middle
Koja je svrha klase deklarisane pomoću modifikatora sealed?
sobes.tech АИ
Одговор од АИ
Klasa deklarisana sa modifikatorom sealed namenjena je za ograničavanje nasleđivanja. Takva klasa može imati podklase, ali samo one koje su deklarisane u istoj datoteci. Ovo omogućava kontrolu i fiksiranje hijerarhije nasleđivanja, čineći je predvidljivijom i sigurnijom.
Na primer, u Kotlinu, sealed klase se često koriste za predstavljanje ograničenog skupa stanja ili varijanti, što je zgodno prilikom rada sa when izrazima, gde kompajler može proveriti potpunost obrade svih varijanti.
sealed class Result {
data class Success(val data: String) : Result()
data class Error(val error: Throwable) : Result()
}
fun handleResult(result: Result) {
when(result) {
is Result.Success -> println("Podaci: ${result.data}")
is Result.Error -> println("Greška: ${result.error.message}")
}
}