列挙タイプ(enum)実装インタフェース
1505 ワード
Ref-Gonçalo Marques
Introduction
JAvaのインタフェースは、列挙タイプによって実現されることもある.
The Enum
ここでは簡単な数学アルゴリズムを例に挙げます.まず、演算のインタフェースを定義します.
次に、上記のインタフェースを実装する列挙タイプを定義します.
次にoperation classを定義します
最終テスト:
Introduction
JAvaのインタフェースは、列挙タイプによって実現されることもある.
The Enum
ここでは簡単な数学アルゴリズムを例に挙げます.まず、演算のインタフェースを定義します.
Operator.java
public interface Operator {
int calculate(int firstOperand, int secondOperand);
}
次に、上記のインタフェースを実装する列挙タイプを定義します.
EOperator.java
public enum EOperator implements Operator {
SUM {
@Override
public int calculate(int firstOperand, int secondOperand) {
return firstOperand + secondOperand;
}
},
SUBTRACT {
@Override
public int calculate(int firstOperand, int secondOperand) {
return firstOperand - secondOperand;
}
};
}
次にoperation classを定義します
public class Operation {
private int firstOperand;
private int secondOperand;
private EOperator operator;
public Operation(int firstOperand, int secondOperand,
EOperator operator) {
this.firstOperand = firstOperand;
this.secondOperand = secondOperand;
this.operator = operator;
}
public int calculate(){
return operator.calculate(firstOperand, secondOperand);
}
}
最終テスト:
public class Main {
public static void main (String [] args){
Operation sum = new Operation(10, 5, EOperator.SUM);
Operation subtraction = new Operation(10, 5, EOperator.SUBTRACT);
System.out.println("Sum: " + sum.calculate());
System.out.println("Subtraction: " + subtraction.calculate());
}
}