668
правок
Изменения
Новая страница: «Начнем с примера. Раньше класс бинарные операции мы делали вот так 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;
}
}
}
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;
}
}
}