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