使用命令模式模拟邮局送信
时间: 2024-02-21 15:33:18 浏览: 18
好的,以下是使用命令模式模拟邮局送信的示例代码:
首先,我们需要定义一个命令接口,包含一个执行方法:
```java
public interface Command {
void execute();
}
```
然后,我们可以定义一个具体的邮局类,该类实现了命令接口:
```java
public class PostalService implements Command {
private String fromAddress;
private String toAddress;
private String message;
public PostalService(String fromAddress, String toAddress, String message) {
this.fromAddress = fromAddress;
this.toAddress = toAddress;
this.message = message;
}
@Override
public void execute() {
System.out.println("从 " + fromAddress + " 寄出信件到 " + toAddress + ",内容为:" + message);
}
}
```
接着,我们可以定义一个邮局队列类,用于存储待发送的信件:
```java
import java.util.ArrayList;
import java.util.List;
public class PostalQueue {
private List<Command> commands = new ArrayList<>();
public void addCommand(Command command) {
commands.add(command);
}
public void executeCommands() {
for (Command command : commands) {
command.execute();
}
commands.clear();
}
}
```
最后,我们可以使用 PostalQueue 类来模拟邮局送信的过程:
```java
public class Main {
public static void main(String[] args) {
PostalQueue queue = new PostalQueue();
queue.addCommand(new PostalService("A公司", "B公司", "这是一封重要的合作信件"));
queue.addCommand(new PostalService("C先生", "D女士", "这是一封情书"));
queue.executeCommands();
}
}
```
输出结果如下:
```
从 A公司 寄出信件到 B公司,内容为:这是一封重要的合作信件
从 C先生 寄出信件到 D女士,内容为:这是一封情书
```
以上就是使用命令模式模拟邮局送信的示例代码。