Sobes.tech
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.