1、简单工厂模式属于创建型模式,又叫做静态工厂方法。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。
2、测试代码分类:
(1)工厂角色:OperationFactory
(2)抽象产品角色:Operation
(3)具体产品角色:OperationAdd、OperationSub
3、代码:
运算类:
public class Operation {
private double numA = 0;
private double numB = 0;
public double getNumA() {
return numA;
}
public void setNumA(double numA) {
this.numA = numA;
}
public double getNumB() {
return numB;
}
public void setNumB(double numB) {
this.numB = numB;
}
public double getResult () {
return 0;
}
}
工厂类:
public class OperationFactory {
public static Operation createOperation (String operate) {
Operation operation = null;
switch (operate) {
case "+":
{
operation = new OperationAdd();
break;
}
case "-":
{
operation = new OperationSub();
break;
}
}
return operation;
}
}
具体实现类--加法:
public class OperationAdd extends Operation {
@Override
public double getResult() {
return getNumA()+getNumB();
}
}
具体实现类--减法:
public class OperationSub extends Operation {
@Override
public double getResult() {
return getNumA() - getNumB();
}
}
测试入口:
public class OperateTest {
public static void main(String[] args) {
Operation operation = OperationFactory.createOperation("+");
operation.setNumA(2);
operation.setNumB(3);
System.out.println(operation.getResult());
Operation operation1 = OperationFactory.createOperation("-");
operation1.setNumA(3);
operation1.setNumB(1);
System.out.println(operation1.getResult());
}
}
输出结果:
5.0
2.0