最近在学习《大话设计模式》这本书,此本生动易动,其中有一些例子,我把代码分写如下。
大话设计模式---代码无错便是优?--- 简单工厂模式
下面以 一个计算器的实现代码
//operation运算类
public abstract class Operation{private double numberA = 0;
private double numberB = 0;
public double Operation(double numberA a,doubleB b){
this.numberA = a;
this.numberB = b;
}
public void setNumberA(){....}
public double getNumberA(){....}
public void setNumberB(){....}
public double getNumberB(){....}
public abstract double GetResult();
}
//加减乘除类
class OperationAdd extends Operation{
public double GetResult(){
return(NumberA+NumberB);
}
}
class OperationSub extends Operation{
public double GetResult(){
return(NumberA-NumberB);
}
}
class OperationMul extends Operation{
public double GetResult(){
return(NumberA*NumberB);
}
}
class OperationDiv extends Operation{
public double GetResult(){
if(NumberB ==0) throw new Exception("除数不能为0");
return(NumberA/NumberB);
}
}
public class OperationFactory{
public static Operation CreateOperation(String operate){
Operation oper = null;
switch(operate){
case "+":
oper = new OperationAdd();breaks;
case "-":
oper = new OperationSub();breaks;
case "*":
oper = new OperationMul();breaks;
case "/":
oper = new OperationDiv();breaks;
}
return oper;
}
}
Operation oper;
oper = OperationFactory.createOper("+");
oper.NumberA = 1;
oper.NumberB = 2;
double result = oper.getResult();