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);
}
}
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步