Junior — Middle
Vai jūs varat uzskaitīt un aprakstīt slēgtās klases pieejamos konstruktorus?
sobes.tech AI
Atbilde no AI
Kotlin valodā Sealed Class ir klase, kas ierobežo mantošanu: visas apaklasas jādeklarē tajā pašā failā.
Par sealed klases konstruktoriem:
- Paša sealed klase var būt ar konstruktoru, kā parasta klase.
- Apaklasas sealed klases var būt ar saviem konstruktoriem.
- Parasti, sealed klase tiek deklarēta kā abstrakta, un tās konstruktors var būt aizsargāts vai publisks.
Piemērs:
sealed class Result {
data class Success(val data: String) : Result()
data class Error(val error: Throwable) : Result()
}
Šeit, sealed klase Result nav ar tiešu konstruktoru, bet Success un Error apakšklases ir ar saviem konstruktoriem ar parametriem.
Tādējādi, sealed klase pati var būt ar konstruktoru, bet biežāk svarīgi ir tās mantinieku konstruktoru, kas nosaka konkrētas variācijas.