0
点赞
收藏
分享

微信扫一扫

策略模式(Strategy)

楚木巽 2024-03-15 阅读 30
  • 定义:定义一系列的算法,把它们一个个封装起来,并且使他们能够相互替换。此模式使得算法可以独立于使用它们的客户而变化。

题目:某软件公司欲开发一款汽车竞速类游戏,需要模拟长轮胎和短轮胎急刹车时在路面上留下的不同痕迹,并考虑后续能模拟更多种轮胎急刹车时的痕迹。现采用策略设计模式来实现该需求。

import java.util.*;
interface BrakeBehavior{
     pubilic void stop();
/其余代码省略/
}
class LongWheelBrake implements BrakeBehavior{
      public void stop(){
      System.out.println("模拟长轮胎刹车痕迹!");
      }
/其余代码省略/
}
class ShortWheelBrake implements BrakeBehavior{
      public void stop(){
      System.out.println("模拟短轮胎刹车痕迹!");
      }
/其余代码省略/      
}
abstract class Car{
    protected BrakeBehavior wheel;
    public void brake(){
    wheel.stop();
    }
/其余代码省略/
}
class ShortWheelCar extends Car{
      public ShortWheelCar(BrakeBehavior behavior){
      wheel=behavior;
      }
/其余代码省略/
}
class StrategyTest{
     public static void main(String[]args){
         BrakeBehavior brake=new ShortWheelBrake();
         ShortWheelCar car1=new ShortWheelCar(brake);
         car1.brake();     //调用ShortWheelCar的父类方法
         }
}

举报

相关推荐

0 条评论