Sobes.tech
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 sealed osztá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.