实验 23:策略模式
本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:
1、理解策略模式的动机,掌握该模式的结构;
2、能够利用策略模式解决实际问题。
[实验任务一]:旅行方式的选择
旅游的出行方式有乘坐飞机旅行、乘火车旅行和自行车游,不同的旅游方式有不同的实现过程,客户可以根据自己的需要选择一种合适的旅行方式。
实验要求:
1. 画出对应的类图;
2. 提交源代码;
3. 注意编程规范。
1、源代码
package org.example;
// 飞机旅行类
class AirTravel implements TravelMode {
public void travel() {
System.out.println("您选择了乘坐飞机旅行。");
// 这里可以添加飞机旅行的具体实现过程
}
}
package org.example;
// 自行车游类
class BicycleTravel implements TravelMode {
public void travel() {
System.out.println("您选择了自行车游。");
// 这里可以添加自行车游的具体实现过程
}
}
package org.example;
// 火车旅行类
class TrainTravel implements TravelMode {
public void travel() {
System.out.println("您选择了乘火车旅行。");
// 这里可以添加火车旅行的具体实现过程
}
}
package org.example;
import java.util.Scanner;
public class TravelAgency {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请选择您的旅游方式:");
System.out.println("1. 乘坐飞机旅行");
System.out.println("2. 乘火车旅行");
System.out.println("3. 自行车游");
System.out.print("请输入您的选择(1/2/3):");
int choice = scanner.nextInt();
TravelMode travelMode;
switch (choice) {
case 1:
travelMode = new AirTravel();
break;
case 2:
travelMode = new TrainTravel();
break;
case 3:
travelMode = new BicycleTravel();
break;
default:
System.out.println("无效的选择。");
return;
}
travelMode.travel();
scanner.close();
}
}
package org.example;
// 旅游方式的接口
interface TravelMode {
void travel();
}
2、运行截图