使用策略模式实现从韶关去婺源旅游的出行方式。
时间: 2023-06-24 17:04:05 浏览: 187
首先我们需要定义一个出行方式接口(TravelStrategy),其中包含一个方法(travel),用于描述不同的出行方式。然后我们针对不同的出行方式,分别实现其具体的出行方式类(如BusStrategy、TrainStrategy、PlaneStrategy等)。最后,我们通过在客户端代码中选择不同的出行方式类,将不同的出行方式传递给旅游实现类(Travel),从而实现从韶关去婺源旅游的出行方式。
以下是示例代码:
```java
// 出行方式接口
public interface TravelStrategy {
void travel();
}
// 公交车出行方式
public class BusStrategy implements TravelStrategy {
@Override
public void travel() {
System.out.println("选择公交车出行!");
}
}
// 火车出行方式
public class TrainStrategy implements TravelStrategy {
@Override
public void travel() {
System.out.println("选择火车出行!");
}
}
// 飞机出行方式
public class PlaneStrategy implements TravelStrategy {
@Override
public void travel() {
System.out.println("选择飞机出行!");
}
}
// 旅游实现类
public class Travel {
private TravelStrategy strategy;
public Travel(TravelStrategy strategy) {
this.strategy = strategy;
}
public void setStrategy(TravelStrategy strategy) {
this.strategy = strategy;
}
public void travel() {
strategy.travel();
}
}
// 客户端代码
public class Client {
public static void main(String[] args) {
// 选择公交车出行
Travel travel = new Travel(new BusStrategy());
travel.travel();
// 选择火车出行
travel.setStrategy(new TrainStrategy());
travel.travel();
// 选择飞机出行
travel.setStrategy(new PlaneStrategy());
travel.travel();
}
}
```
通过使用策略模式,我们可以灵活地替换不同的出行方式,而不需要修改旅游实现类的代码。同时,我们还可以通过简单地添加新的出行方式类,来扩展系统的功能。
阅读全文