Junior — Middle
Ako implementovať dedičstvo od triedy deklarovanej ako sealed?
sobes.tech AI
Odpoveď od AI
V Kotlinu obmedzuje sealed trieda dedičstvo iba v rámci toho istého súboru, v ktorom je deklarovaná. To znamená, že od sealed triedy je možné dediť iba v tom istom súbore, kde je definovaná.
Ak je trieda deklarovaná ako sealed a nachádza sa v inom súbore, od nej dediť nemožno.
Pre implementáciu dedičstva od sealed triedy je potrebné:
- Nachádzať sa v tom istom súbore, kde je deklarovaná
sealedtrieda. - Deklarovať podtriedy v tomto súbore.
Príklad:
sealed class Result
class Success(val data: String) : Result()
class Error(val error: Throwable) : Result()
Ak je potrebná rozšíriteľnosť mimo súbor, sealed nie je vhodný, je potrebné použiť bežnú otvorenú triedu alebo rozhranie.