Sobes.tech
Junior — Middle

Jaki jest cel używania klasy enum w Kotlinie i czym różni się od zwykłych enumeracji?

sobes.tech AI

Odpowiedź od AI

W Kotlinie enum class służy do definiowania ograniczonego zestawu stałych, z których każda jest obiektem klasy. W przeciwieństwie do zwykłych enumeracji w innych językach, klasy enum w Kotlinie mogą zawierać właściwości, metody i implementować interfejsy.

Główne różnice:

  • Każda stała jest instancją klasy enum, można przypisywać unikalne właściwości i zachowania.
  • Można dodawać konstruktory i metody.
  • Obsługiwane jest dziedziczenie interfejsów.

Przykład:

enum class Direction(val degrees: Int) {
    NORTH(0),
    EAST(90),
    SOUTH(180),
    WEST(270);

    fun description() = "Kierunek $name z kątem $degrees stopni"
}

fun main() {
    println(Direction.NORTH.description()) // Kierunek NORTH z kątem 0 stopni
}

W związku z tym, klasa enum w Kotlinie jest potężnym narzędziem do pracy z zestawem powiązanych stałych z dodatkowymi funkcjami.