问答题
阅读下列说明和Java代码,将应填入
(n) 处的字句写在对应栏内。
[说明]
某软件公司现欲开发一款飞机飞行模拟系统,该系统主要模拟不同种类飞机的飞行特征与起飞特征。需要模拟的飞机种类及其特征如表10.5所示。
表10.5飞机种类的特性
|
飞机种类 | 起飞特征 | 飞行特征 |
直升机(Helicopter) | 垂直起飞(VerticalTakeOff) | 亚音速飞行(SubSonicFly) |
客机(AirPlane) | 长距离起飞(LongDistanceTakeOff) | 亚音速飞行(SubSonicFly) |
歼击机(Fighter) | 长距离起飞(LongDistanceTakeOff) | 超音速飞行(SuperSonicFly) |
鹞式战斗机(Harrier) | 垂直起飞(VerticaITakeOff) | 超音速飞行(SuperSonicFly) |
为支持将来模拟更多种类的飞机,采用策略设计模式(Strategy)设计的类图如图10.12示。
【正确答案】(1) FlyBehavior flyBehavior (2) TakeOffBehavior takeOffBehavior
(3) flyBehavior.fly() (4) takeOffBehavior.takeOff()
(5) extends (6) SubSonicFly() (7) VerticalTakeOff()
【答案解析】[解析] 本题目考查设计模式中的策略设计模式。