面向对象程序设计-简易计算器(简单工厂模式)
时间: 2023-06-22 22:19:56 浏览: 73
好的,我可以为您介绍一下面向对象程序设计中简单工厂模式的应用。
简单工厂模式是一种创建型设计模式,它提供了一种创建对象的最佳方式。该模式允许客户端通过传递类型参数来请求工厂创建所需类型的对象。
在一个简易计算器中,我们可以使用简单工厂模式来创建不同类型的运算对象。首先,我们需要定义一个运算接口,例如:
```java
public interface Operation {
double getResult(double numberA, double numberB);
}
```
然后,我们可以定义不同类型的运算类,例如:
```java
public class AddOperation implements Operation {
public double getResult(double numberA, double numberB) {
return numberA + numberB;
}
}
public class SubtractOperation implements Operation {
public double getResult(double numberA, double numberB) {
return numberA - numberB;
}
}
public class MultiplyOperation implements Operation {
public double getResult(double numberA, double numberB) {
return numberA * numberB;
}
}
public class DivideOperation implements Operation {
public double getResult(double numberA, double numberB) {
if (numberB == 0) {
throw new IllegalArgumentException("除数不能为0");
}
return numberA / numberB;
}
}
```
最后,我们可以定义一个简单工厂类,根据传入的运算类型参数来创建相应的对象:
```java
public class OperationFactory {
public static Operation createOperation(String operationType) {
Operation operation = null;
switch (operationType) {
case "+":
operation = new AddOperation();
break;
case "-":
operation = new SubtractOperation();
break;
case "*":
operation = new MultiplyOperation();
break;
case "/":
operation = new DivideOperation();
break;
default:
throw new IllegalArgumentException("不支持的运算类型");
}
return operation;
}
}
```
使用简单工厂模式,我们可以在客户端代码中通过传递运算类型参数来获取相应的运算对象,例如:
```java
public static void main(String[] args) {
Operation operation = OperationFactory.createOperation("+");
double result = operation.getResult(3, 4);
System.out.println(result); // 输出 7.0
}
```
这样,我们就可以灵活地创建不同类型的运算对象,实现了代码的可扩展性和可维护性。