JAVA 设计模式之策略模式学习笔记
程序员文章站
2022-05-04 20:42:27
...
复习下一些设计模式,第一个就是策略模式,在网上找了些资料看到了很多例子,这里自己也想出了一个例子,方便理解或以后忘记了回忆起来方便。
汽车启动、行驶、刹车停止这个过程中涉及到加速行驶、匀速行驶、减速行驶几种形式的行驶。
这里定义一个接口叫做行驶(Travel)
/** * 行驶的行为接口 */ interface Travel { /** * 行驶方法 */ public void travel(); } /** * 加速行驶 */ class FastTravel implements Travel { public void travel() { System.out.println("加速行驶-------------"); } } /** * 匀速行驶 */ class NormalTravel implements Travel { public void travel() { System.out.println("匀速行驶-------------"); } } /** * 减速行驶 */ class SlowTravel implements Travel { public void travel() { System.out.println("减速行驶-------------"); } } /** * 汽车类 */ class Car { private Travel travel; public Car(Travel travel) { this.travel = travel; } public void travel() { this.travel.travel(); } }
汽车行驶测试类
public class Test { public static void main(String[] args) { Car car; System.out.println("汽车启动了------"); car = new Car(new FastTravel()); car.travel(); System.out.println("汽车加速完成------"); car = new Car(new NormalTravel()); car.travel(); System.out.println("汽车刹车------"); car = new Car(new SlowTravel()); car.travel(); } }
下一篇: 策略模式一商场促销商品