break;
case "/":
oper = new OperationDiv();
break;
}*/
return oper;
}
}
下面给出一个+运算符类,其他的都类似,就不全部列出了:
[java]
package caculator;
public class OperationAdd extends Operation {
@Override
public double GetResult() {
double result = 0;
result = this.getNumberA() + this.getNumberB();
return result;
}
}
这个程序的类图如下:

在工厂中我们有一个operation的实例,但是实际返回的是根据我们要求返回的对应的运算符的实例。
简单工厂方法与前面说的方法比较,优点是我们如果添加一个新的运算符,我们只需要添加一个新的继承字operation的类,然后修改一下工厂方法就可以了。其他的类都不用修改就可以使用。这样我们以后如果需要只需要将类拿过去用就可以了。
作者:mengxiangyue