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.