在阅读框架的源码之前,再把设计模式过一遍吧!代码基本来自《大话设计模式》一书 ,后面的我就懒得再声明了
public class OperationFactory {
public static Operation createOperate(String operate) {
Operation oper = null;
switch(operate) {
case "+":
oper = (Operation) new OperationAdd();
break;
case "-":
oper = (Operation) new OperationDiv();
break;
case "*":
oper = (Operation) new OperationAdd();
break;
case "/":
oper = (Operation) new OperationAdd();
break;
}
return oper;
}
public static void main(String[] args) {
Operation oper = OperationFactory.createOperate("+");
oper.setNumberA(5);
oper.setNumberB(5);
System.out.println(oper.getResult());
}
}
public abstract class Operation {
private double numberA = 0;
private double numberB = 0;
public abstract double getResult();
public double getNumberA() {
return numberA;
}
public void setNumberA(double numberA) {
this.numberA = numberA;
}
public double getNumberB() {
return numberB;
}
public void setNumberB(double numberB) {
this.numberB = numberB;
}
}
public class OperationAdd extends Operation{
@Override
public double getResult() {
return getNumberA()+getNumberB();
}
}