策略模式(一)
旅游的出行方式有乘坐飞机旅行、乘火车旅行和自行车游,不同的旅游方式有不同的实现过程,客户可以根据自己的需要选择一种合适的旅行方式。
//Person.java package test23; public class Person { //聚合策略类对象 private TravelStrategy strategy; public void setStrategy(TravelStrategy strategy) { this.strategy=strategy; } public void travel() { strategy.travel(); } } //TravelStrategy.java package test23; public interface TravelStrategy { public void travel(); } //AirplaneStrategy.java package test23; public class AirplaneStrategy implements TravelStrategy{ public void travel() { System.out.println("乘坐飞机旅行"); } } //BicycleStrategy.java package test23; public class BicycleStrategy implements TravelStrategy{ public void travel() { System.out.println("自行车游"); } } //TrainStrategy.java package test23; public class TrainStrategy implements TravelStrategy{ public void travel() { System.out.println("乘火车旅行"); } } //Client.java package test23; import java.util.Scanner; public class Client { public static void main(String[] args) { Person p = new Person(); System.out.println("请选择出行方式:1、飞机 2、火车 3、自行车"); Scanner input=new Scanner(System.in); int i=input.nextInt(); if(i==1) { p.setStrategy(new AirplaneStrategy()); }else if(i==2) { p.setStrategy(new TrainStrategy()); }else if(i==3) { p.setStrategy(new BicycleStrategy()); } p.travel(); } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!