Sobes.tech
Junior — Middle

Каква е целта на използването на enum class в Kotlin и как се различава от обикновените изброявания?

sobes.tech AI

Отговор от AI

В Kotlin enum class се използва за дефиниране на ограничен набор от константи, всяка от които е обект на класа. За разлика от обикновените изброявания в други езици, Kotlin enum класовете могат да съдържат свойства, методи и да реализират интерфейси.

Основни разлики:

  • Всяка константа е екземпляр на enum класа, може да има уникални свойства и поведение.
  • Могат да се добавят конструктори и методи.
  • Поддържа наследяване на интерфейси.

Пример:

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

    fun description() = "Посока $name с ъгъл $degrees градуса"
}

fun main() {
    println(Direction.NORTH.description()) // Посока NORTH с ъгъл 0 градуса
}

Така, enum class в Kotlin е мощен инструмент за работа с набор от свързани константи с допълнителна логика.