Sobes.tech
Junior — Middle

Lehetséges-e Kotlinben létrehozni egy sealed-ként megjelölt osztályt, amely egy másik sealed osztályból öröklődik?

sobes.tech MI

Válasz az MI-től

Kotlinban egy sealed jelölt osztály örökölhet egy másik sealed osztálytól. Emellett az örökös is lehet sealed, ami lehetővé teszi korlátozott számú alosztályokkal rendelkező hierarchiák létrehozását több szinten. A fő feltétel az, hogy minden sealed alosztály ugyanabban a fájlban legyen, mint maga a sealed osztály.

Példa:

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

Itt a Mammal egy sealed osztály, amely az Animal sealed osztályból öröklődik. Ez a megközelítés lehetővé teszi összetettebb hierarchiák létrehozását ellenőrzött leszármazottak készletével.