Перечисления — различия между версиями
Sergej (обсуждение | вклад) (Новая страница: «Начнем с примера. Раньше класс бинарные операции мы делали вот так public class BinaryOperation { publi...») |
Sergej (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
− | + | == Пример == | |
+ | Раньше класс бинарные операции мы делали вот так | ||
public class BinaryOperation { | public class BinaryOperation { | ||
public int Plus (int a, int b) { | public int Plus (int a, int b) { | ||
Строка 37: | Строка 38: | ||
} | } | ||
} | } | ||
+ | abstract public int calculate(int a, int b); | ||
+ | Перечисление может иметь :закрытые конструкторы, поля, методы, абстрактные методы(если они определены в каждом экземпляре). | ||
+ | |||
+ | Перечисление может реализовывать интерфейсы | ||
+ | Также возможно создавать переменные(а не классы). | ||
+ | == Методы работы с перечислениями == | ||
+ | Класс <tex>Enum –</tex> базовый для перечислений | ||
+ | <tex>name() –</tex> имя | ||
+ | <tex>ordinal()</tex> – номер | ||
+ | <tex>valueOf(Class, name) –</tex> экземпляр по номеру |
Версия 21:52, 17 июня 2013
Пример
Раньше класс бинарные операции мы делали вот так
public class BinaryOperation { public int Plus (int a, int b) { return a + b; } public int Minus (int a, int b) { return a - b; } public int Division(int a, int b) { return a / b; } public int Times (int a, int b) { return a * b; } }
Проблема была в том, что пригодилось делать много проверок извне для вызова этих функции. Можно сделать гораздо проще и удобнее
public enum BinaryOperation { Plus("+") { public int calculate(int a, int b){ return a + b; } } Minus("-") { public int calculate(int a, int b){ return a - b; } } Division("/") { public int calculate(int a, int b){ return a / b; } } Times("*") { public int calculate(int a, int b){ return a * b; } } } abstract public int calculate(int a, int b);
Перечисление может иметь :закрытые конструкторы, поля, методы, абстрактные методы(если они определены в каждом экземпляре).
Перечисление может реализовывать интерфейсы Также возможно создавать переменные(а не классы).
Методы работы с перечислениями
Класс
базовый для перечислений имя – номер экземпляр по номеру