Как стать автором
Обновить

Комментарии 5

А почему нельзя просто перечислить возможные значения, не используя ключевое слово case? Есть какая-то причина, или же это опять из серии «у нас будет не так, как у всех»?
Возможно, проблема с парсингом. Далеко ходить не надо, синтаксис для атрибутов как долго выбирали

Да, скорее всего

Видимо, потому что enum реализован не как надстройка над int, а как самостоятельный класс.
А конструкцию


case XXX = YYY;

стоит рассматривать просто как синтаксический сахар:


const XXX = new ClassName(YYY);

с неявной реализацией from и value.

Помимо полей "case" в enum может быть еще много всего. По сути это разновидность класса. Там могут быть методы, он может реализовывать интерфейсы или использовать трейты.

Вроде и полезно может оказаться, но страшно как это могут использовать, забыв о, например, SRP, да с магическими методами

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории