Sobes.tech
Junior — Middle

É possível em Kotlin criar uma classe marcada como sealed, que herde de outra classe sealed?

sobes.tech IA

Resposta da IA

No Kotlin, uma classe marcada como sealed pode herdar de outra classe sealed. Além disso, o descendente também pode ser sealed, o que permite criar hierarquias com um conjunto limitado de subclasses em vários níveis. A condição principal é que todas as subclasses sealed de uma classe devem estar no mesmo arquivo que a própria classe sealed.

Exemplo:

sealed class Animal {
    sealed class Mammal : Animal() {
        class Dog : Mammal()
        class Cat : Mammal()
    }
    class Bird : Animal()
}

Aqui, Mammal é uma classe sealed que herda de Animal. Essa abordagem permite criar hierarquias mais complexas com um conjunto controlado de descendentes.