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

图5-1类图
【Java代码】
import java.util.*;
interface BrakeBehavior{
public(1);
/*其余代码省略*/
};
class LongWheelBrake implements BrakeBehavior{
public void stop( ){System.out.println("模拟长轮胎刹车痕迹!");}
/*其余代码省略*/
};
class ShortWheelBrake implements BrakeBehavior{
public void stop( ){System.out.println("模拟短轮胎刹车痕迹!");}
/*其余代码省略*/
};
abstract class Car{
protected(2)wheel;
public void brake( ){(3);}
/*其余代码省略*/
}:
class ShortWheelCar extends Car{
public ShortWheelCar(BrakeBehavior behavior){
(4);
}
/*其余代码省略*/
};
class StrategyTest{
public static void main(String[]args){
BrakeBehavior brake=new ShortWheelBrake( );
ShortWheelCar car1=new ShortWheelCar(brake);
car1.(5);
}
}
【参考答案】
(1)void stop()
(2)BrakeBehavior
(3)wheel.stop()
......
(↓↓↓ 点击下方‘点击查看答案’看完整答案 ↓↓↓)