Sobes.tech
Junior — Middle

Jaký je účel použití třídy enum v Kotlinu a čím se liší od běžných výčtů?

sobes.tech AI

Odpověď od AI

V Kotlinu se enum class používá k definování omezené sady konstant, z nichž každá je objektem třídy. Na rozdíl od běžných výčtů v jiných jazycích mohou třídy enum v Kotlinu obsahovat vlastnosti, metody a implementovat rozhraní.

Hlavní rozdíly:

  • Každá konstanta je instancí třídy enum, může mít unikátní vlastnosti a chování.
  • Lze přidávat konstruktory a metody.
  • Podporováno dědění rozhraní.

Příklad:

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

    fun description() = "Směr $name s úhlem $degrees stupňů"
}

fun main() {
    println(Direction.NORTH.description()) // Směr NORTH s úhlem 0 stupňů
}

Proto je třída enum v Kotlinu mocným nástrojem pro práci s množinou souvisejících konstant s přidanou logikou.