Sobes.tech
Back to questions
Junior — Middle
68

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

Companies where asked
АВ Софт

Answer from AI

sobes.tech 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 — это мощный инструмент для работы с набором связанных констант с дополнительной логикой.