Junior — Middle
Jak implementovat dědičnost od třídy deklarované jako sealed?
sobes.tech AI
Odpověď od AI
V Kotlinu omezená třída sealed omezuje dědičnost pouze uvnitř stejného souboru, ve kterém je deklarována. To znamená, že dědit od sealed třídy lze pouze ve stejném souboru, kde je definována.
Pokud je třída deklarována jako sealed a nachází se v jiném souboru, dědit od ní nelze.
Pro implementaci dědičnosti od sealed třídy je třeba:
- Nacházet se ve stejném souboru, kde je
sealedtřída deklarována. - Deklarovat podtřídy uvnitř tohoto souboru.
Příklad:
sealed class Result
class Success(val data: String) : Result()
class Error(val error: Throwable) : Result()
Pokud je potřeba rozšiřitelnost mimo soubor, sealed není vhodný, je třeba použít běžnou otevřenou třídu nebo rozhraní.