其实,觉得最重要的就是这里的这样的一段核心代码。
package org.lenovo.demo;
public class OperationFactory {
public static Operation createOperation(String operate){
Operation oper = null;
switch(operate){
case "+":
oper = new AddOperation();
break;
case "-":
oper = new SubOperation();
break;
case "*":
oper = new MulOperation();
break;
case "/":
oper = new DivOperation();
break;
}
return oper;
}
}
在上面的这一段代码中,其中Operation是定义的一个接口,如下所示:
package org.lenovo.demo;
public interface Operation {
public double getResult(double numA , double numB);
}
而对于加法、减法、乘法、除法以及取余等操作,都是分别定义的一个类,而对于这个类又实现了Operation接口。如下所示: