定义:简单工厂模式又叫做静态工厂模式,简单工厂模式是由工厂对象决定创建出哪个工厂实例。
图示:
运算类为抽象类或接口,下面四个类继承运算类并重写运算类中的getResult()方法。
简单工厂类中包含一个static修饰的方法,并根据传入的参数决定产生何种类型的对象。
代码示例:
Operation类:(运算类)
package easyFactory;
public abstract class Operation {
public double a = 0;
public double b = 0;
public double getResult()
{
double result = 0;
return result;
}
}
</pre><pre name="code" class="html">
加减乘除四种子类:
</pre><pre name="code" class="java">public class OperationAdd extends Operation{
public double getResult(){
double result = 0;
result = a + b;
return result;
}
}
public class OperationSub extends Operation{
public double GetResult(){
double result = 0;
result = b-a;
return result;
}
}
public class OperationMul extends Operation{
public double GetResult(){
double result = 0;
result = a*b;
return result;
}
}
public class OperationDiv extends Operation{
public double GetResult(){
double result = 0;
result =a/b;
return result;
}
}
工厂类(简单工厂的核心代码)
public class OperationFactory {
public static Operation createOperation(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 class CreateOperate {
public static void main(String args[]){
Operation oper= OperationFactory.createOperation("+");
oper.a = 3.0;
oper.b = 4.0;
System.out.println(oper.getResult());
}
}
执行结果:
7.0