Junior — Middle
Como implementar a herança de uma classe declarada como sealed?
sobes.tech IA
Resposta da IA
No Kotlin, uma classe declarada como sealed limita a herança apenas dentro do mesmo ficheiro onde é declarada. Isto significa que só é possível herdar de uma classe sealed no mesmo ficheiro onde ela está definida.
Se uma classe estiver declarada como sealed e estiver em outro ficheiro, não é possível herdar dela.
Assim, para implementar herança de uma classe sealed, deve-se:
- Estar no mesmo ficheiro onde a classe
sealedé declarada. - Declarar as subclasses dentro desse ficheiro.
Exemplo:
sealed class Result
class Success(val data: String) : Result()
class Error(val error: Throwable) : Result()
Se for necessária extensibilidade fora do ficheiro, a classe sealed não é adequada, devendo usar uma classe aberta normal ou uma interface.