工厂模式(计算器)

public abstract class Operation {
private Integer numberA = 0;
private Integer numberB = 0;

public abstract double getResult();

public Integer getNumberA() {
return numberA;
}
public void setNumberA(Integer numberA) {
this.numberA = numberA;
}
public Integer getNumberB() {
return numberB;
}
public void setNumberB(Integer numberB) {
this.numberB = numberB;
}
}


public class OperationAdd extends Operation {
@Override
public double getResult(){
return getNumberA() + getNumberB();
}
}

public class OperationSub extends Operation {
@Override
public double getResult(){
return getNumberA() - getNumberB();
}
}

public class OperationFactory {
public static Operation createOperation(String operate){
Operation oper = null;
if("+".equals(operate)){
oper = new OperationAdd();
}
if("-".equals(operate)){
oper = new OperationSub();
}
return oper;
}
}


public class Client {
public static void main(String[] args){
Operation oper;
oper = OperationFactory.createOperation("+");
oper.setNumberA(1);
oper.setNumberB(2);
double result = oper.getResult();
System.out.println(result);
}
}
posted @ 2017-02-12 00:29  413Xiaol  阅读(232)  评论(0编辑  收藏  举报