Junior — Middle
Hogyan valósítható meg a sealed-ként deklarált osztály öröklése?
sobes.tech MI
Válasz az MI-től
Kotlinban egy sealed-ként deklarált osztály csak ugyanabban a fájlban öröklődhet, ahol deklarálva van. Ez azt jelenti, hogy csak ugyanabban a fájlban lehet örökölni egy sealed osztályból.
Ha egy osztály sealed-ként van deklarálva, és egy másik fájlban található, akkor nem lehet tőle örökölni.
Ezért a sealed osztály öröklésének megvalósításához:
- ugyanabban a fájlban kell lennie, ahol a
sealedosztályt deklarálták, - és a származtatott osztályokat ebben a fájlban kell deklarálni.
Példa:
sealed class Result
class Success(val data: String) : Result()
class Error(val error: Throwable) : Result()
Ha a bővíthetőség a fájlon kívül szükséges, a sealed nem megfelelő, helyette egy nyitott osztályt vagy interfészt kell használni.