Изменения

Перейти к: навигация, поиск

Перечисления

21 байт убрано, 17:23, 19 июня 2013
Введение
Программируя мы часто сталкиваемся с необходимостью ограничить множество допустимых значений для некоторого типа данных. Так, например, день недели может иметь 7 разных значений, месяц в году - 12, а время года - 4. Для решения подобных задач во многих языках программирования со статической типизацией предусмотрен специальный тип данных - перечисление <tex>(enum)</tex>.
==Введение ==
В <tex>Java</tex>, начиная с версии 1.5, помимо всего прочего появились так называемые перечисления <tex>(enum)</tex>. Существует целый ряд плюсов от использования перечислений против именованных констант:
Компилятор гарантирует корректную проверку типов
Удобство итерации по всем возможным значениям перечисления
и т.д.
Однако по сравнению, допустим, с C++, перечисления в <tex>Java</tex> представляют собой полноценные объекты, что предоставляет разработчику гораздо большую гибкость.
Во-первых, все перечисления наследуются от класса <tex>java.lang.Enum</tex>, у которого есть ряд удобных методов, а именно:
Перечисления могут реализовывать любые интерфейсы
При этом методы в перечислении могут быть абстрактными, а конкретные экземпляры констант могут определять такие методы (как, впрочем, и переопределять уже определенные)
 
==Конструкция enum==
Начнем с примера. Давайте опишем с помощью enum тип данных для хранения времени года:
668
правок

Навигация