Junior — Middle
Felsorolnád és leírnád a Zárt Osztályhoz elérhető konstruktorokat?
sobes.tech MI
Válasz az MI-től
A Kotlinban a Sealed Class olyan osztály, amely korlátozza az öröklődést: minden alosztálynak ugyanabban a fájlban kell lennie.
A sealed osztályok konstruktorairól:
- A sealed osztály maga is rendelkezhet konstruktorokkal, mint egy normál osztály.
- A sealed osztály alosztályai saját konstruktorokat is tartalmazhatnak.
- Általában a sealed osztályt absztraktként deklarálják, és konstruktorát lehet védett vagy nyilvános.
Példa:
sealed class Result {
data class Success(val data: String) : Result()
data class Error(val error: Throwable) : Result()
}
Itt a sealed Result osztálynak nincs explicit konstruktora, de a Success és Error alosztályok saját konstruktorokkal rendelkeznek paraméterekkel.
Így a sealed osztály maga is rendelkezhet konstruktorokkal, de általában a leszármazottak konstruktorai a fontosak, mivel ezek határozzák meg a konkrét változatokat.