/**
* @Author: subd
* @Date: 2019/8/28 7:49
* 简单工程模式
*/
public class SimpleFactoryModel {
/**
* 运算类
*/
public static 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 result = 0;
return result;
}
}
/**
* 加法运算类继承运算类
*/
public static class OperationAdd extends Operation {
@Override
public Double GetResult() {
double result = 0;
result = getA() + getB();
return result;
}
}
/**
* 减法运算类继承运算类
*/
public static class OperationSub extends Operation {
@Override
public Double GetResult() {
double result = 0;
result = getA() - getB();
return result;
}
}
/**
* 乘法运算类继承运算类
*/
public static class OperationMul extends Operation {
@Override
public Double GetResult() {
double result = 0;
result = getA() * getB();
return result;
}
}
/**
* 除法运算类继承运算类
*/
public static class OperationDiv extends Operation {
@Override
public Double GetResult() {
double result = 0;
result = getA() / getB();
return result;
}
}
public static class OpeationFactory {
public static Operation CreateOperate(String operate) {
Operation oper = null;
switch (operate) {
case "+":
oper = new OperationAdd();
break;
case "-":
oper = new OperationSub();
break;
case "*":
oper = new OperationMul();
break;
case "/":
oper = new OperationDiv();
break;
}
return oper;
}
}
public static void main(String[] args) {
Operation operation = OpeationFactory.CreateOperate("+");
operation.a = 1;
operation.b = 2;
double result = operation.GetResult();
System.out.println(result);
}
}
简单工厂模式
最新推荐文章于 2025-11-03 18:18:36 发布
1281

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



