Перечисления
Версия от 21:44, 17 июня 2013; Sergej (обсуждение | вклад) (Новая страница: «Начнем с примера. Раньше класс бинарные операции мы делали вот так public class BinaryOperation { publi...»)
Начнем с примера. Раньше класс бинарные операции мы делали вот так
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; } } }