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.