package DesignPattern.FactoryMethodPattern;
public class Operation {
private double a=0;
private double b=0;
public double getA() {
return a;
}
public void setA(double a) {
this.a = a;
}
public double getB() {
return b;
}
public void setB(double b) {
this.b = b;
}
public double getResult(){
double res=0;
return res;
}
}
具体的运算法则类
package DesignPattern.FactoryMethodPattern;
public class OperationAdd extends Operation {
@Override
public double getResult() {
return getA()+getB();
}
}
package DesignPattern.FactoryMethodPattern;
public class OperationSub extends Operation {
@Override
public double getResult() {
return getA()-getB();
}
}
package DesignPattern.FactoryMethodPattern;
public class OperationMul extends Operation{
@Override
public double getResult() {
return getA()*getB();
}
}
package DesignPattern.FactoryMethodPattern;
public class OperationSub extends Operation {
@Override
public double getResult() {
return getA()-getB();
}
}
规则工厂类
package DesignPattern.FactoryMethodPattern;
public class OperationFactory {
public static Operation createOperate(String operator){
Operation opt=null;
switch (operator){
case "+":
opt=new OperationAdd();
break;
case "-":
opt=new OperationSub();
break;
case "*":
opt=new OperationMul();
break;
case "/":
opt=new OperationDiv();
}
return opt;
}
}
客户端
package DesignPattern.FactoryMethodPattern;
public class Client1 {
public static void main(String[] args){
Operation op=OperationFactory.createOperate("+");
op.setA(1.2);
op.setB(2.2);
System.out.println(op.getResult());
}
}
本文深入讲解了工厂方法设计模式在运算符操作中的应用。通过创建不同的运算子类,如加法、减法、乘法等,实现了运算逻辑的封装与扩展。工厂方法模式通过抽象基类定义了创建对象的接口,而具体的子类则负责实现具体对象的创建过程。
252

被折叠的 条评论
为什么被折叠?



