Java实现计算器的工厂模式
Operation的Model
public abstract class Operation{
private double numberA;
private double numberB;
public double getNumberA(){
return numberA;
}
public double getNumberB(){
return numberB;
}
public void setNumberA(double numberA){
this.numberA = numberA;
}
public void setNumberB(double numberB){
this.numberB = numberB;
}
public abstract double getResult();
}
加法
public class OprationAdd extends Operation{
@Override
public double getResult(){
double result = 0;
result = getNumberA() + getNumberB();
return result;
}
}
减法
public OperationSub extends Operation{
@Override
public double getResult(){
double result = 0;
result = getNumberA() + getNumberB();
return result;
}
}
创建工厂
public class OperatorFactory{
public Operation createOperatorFactory(String operator){
Operation operation = null;
switch(operator){
case "+":
operation = new OperationAdd();
break;
case "-":
operation = new OperationSub();
break;
default:
break;
}
return Operation;
}
}
主程序
public void operationTest(){
Operation operation = null;
operation = new OperatorFactory().createOperatorFactory("+");
operation.setNumberA("+");
operation.setNumberB("-");
double result = operation.getResult();
System.out.print("计算器相加之后的结果为:" + result);
}
工厂模式的好处:
1.可维护
2.可复用
3.可拓展
灵活性好