某系统提供一个简单计算器,具有简单的加法和减法功能,系统可以根据用户的选择实例化相应的操作类。现使用简单工厂模式设计该系统,类图 : 在图 1 中, Operation 是抽象类,其中定义了抽象方法 getResult() ,其子类 AddOperation 用于实现加法操作, SubOperation 用于实现减法操作, Calculator 是简单工厂类,工厂方法为 createOperation() ,该方法接收一个 char 类型的字符参数,如果传入的参数为“ + ”,工厂方法返回一个 AddOperation 类型的对象,如果传入的参数为“ - ”,则返回一个 SubOperation 类型的对象。 【 Java 代码】 abstract class Operation { protected int numberA; protected int numberB; // numberA 和 numberB 的 Setter 方法和 Getter 方法省略 public (1) int getResult(); } class AddOperation extends Operation { public int getResult() { return numberA + numberB; } } class SubOperation extends Operation { public int getResult() { return numberA - numberB; } } class Calculator { public static (2) Operation createOperation(char operator) { Operation op = null; (3) { case '+': op = (4) ; break; case '-': op = (5) ; break; } (6) ; } } class Test { public static void main(String args[]) { int result; Operation op1 = Calculator.createOperation('+'); op1.setNumberA(20); op1.setNumberB(10); result = (7) ; System.out.println(result); } }