策略模式---旅行方式的选择
今天做了策略模式---旅行方式的选择的实验,用了差不多两个小时的时间,理解了策略模式的原理,下面是策略模式的实验要求和实现。
旅游的出行方式有乘坐飞机旅行、乘火车旅行和自行车游,不同的旅游方式有不同的实现过程,客户可以根据自己的需要选择一种合适的旅行方式。
实验要求:
截图:
代码部分:
public class AirplaneStrategy implements TravelStrategy{
@Override
public void travel() {
System.out.println("飞机出行");
}
}
public class BicycleStrategy implements TravelStrategy{
@Override
public void travel() {
System.out.println("自行车出行!");
}
}
import java.util.Scanner;
public class Client {
public static void main(String[] args) {
Person mc;
System.out.println("你想选择的出行方式!");
System.out.println("1.飞机游");
System.out.println("2.火车游");
System.out.println("3.自行车游");
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
switch (a) {
case 1:
TravelStrategy at = new AirplaneStrategy();
mc = new Person(at);
mc.travel();
break;
case 2:
TravelStrategy TrainStrategy = new TrainStrategy();
mc = new Person(TrainStrategy);
mc.travel();
break;
case 3:
TravelStrategy BicycleStrategy = new BicycleStrategy();
mc = new Person(BicycleStrategy);
mc.travel();
}
}
}
public class Person {
private TravelStrategy ts;
public Person(TravelStrategy ts)
{
this.ts=ts;
}
public void travel()
{
ts.travel();
}
}
public class TrainStrategy implements TravelStrategy {
@Override
public void travel() {
System.out.println("火车出行!");
}
}
public interface TravelStrategy {
public void travel();
}