简单工厂模式
UML
代码实现
package learn01;
public abstract class Operation {
private double numberA =0;
private double numberB =0;
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 abstract double getResult();
}
package learn01;
public class OperationAdd extends Operation{
@Override
public double getResult() {
return getNumberA()+getNumberB();
}
}
package learn01;
public class OperationSub extends Operation{
@Override
public double getResult() {
return getNumberA()-getNumberB();
}
}
package learn01;
public class OperationFactory {
public static Operation createOperate(String operate) {
Operation operation = null;
switch (operate) {
case "+":
operation = new OperationAdd();
break;
case "-":
operation = new OperationSub();
break;
default:
break;
}
return operation;
}
}
import learn01.*;
public class Main {
public static void main(String[] args) {
Operation operation;
operation=OperationFactory.createOperate("+");
operation.setNumberA(10);
operation.setNumberB(15);
System.out.println(operation.getResult());
}
}
参考资料