阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】某软件公司欲开发一款汽车竞速类游戏,需要模拟长轮胎和短轮胎急刹车时在路面上留 下的不同痕迹,并考虑后续能模拟更多种轮胎急刹车时的痕迹。现采用策略(Strategy)设计模式来实现该需求,所设计的类图如图 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){BrakeBehaviorbrake =new ShortWheelBrake();ShortWheelCar car1= new ShortWheelCar(brake);car1. (5) ;}}

阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】某软件公司欲开发一款汽车竞速类游戏,需要模拟长轮胎和短轮胎急刹车时在路面上留 下的不同痕迹,并考虑后续能模拟更多种轮胎急刹车时的痕迹。现采用策略(Strategy)设计模式来实现该需求,所设计的类图如图 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){BrakeBehaviorbrake =new ShortWheelBrake();ShortWheelCar car1= new ShortWheelCar(brake);car1. (5) ;}}


参考解析

解析:1. void stop()2. BrakeBehavior3. wheel.stop()4. wheel=behavior5. brake()

相关考题:

阅读以下说明和流程图,将应填入(n)处的字句写在对应栏内。【说明】已知头指针分别为La和lb的有序单链表,其数据元素都是按值非递减排列。现要归并La和Lb得到单链表Lc,使得Lc中的元素按值非递减排列。程序流程图如下所示:

阅读下列说明和流程图,将应填入(n)的字句写在对应栏内。【说明】下列流程图(如图4所示)用泰勒(Taylor)展开式sinx=x-x3/3!+x5/5!-x7/7!+…+(-1)n×x2n+1/(2n+1)!+…【流程图】计算并打印sinx的近似值。其中用ε(>0)表示误差要求。

阅读下列说明和c++代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】某软件公司现欲开发一款飞机飞行模拟系统,该系统主要模拟不同种类飞机的飞行特征与起飞特征。需要模拟的飞机种类及其特征如表5-l所示。为支持将来模拟更多种类的飞机,采用策略设计模式(Strategy)设计的类图如图5—1所示。图5-l中,AirCraft为抽象类,描述了抽象的飞机,而类Helicopter、AirPlane、Fighter和Harrier分别描述具体的飞机种类,方法fly( )和takeOff( )分别表示不同飞机都具有飞行特征和起飞特征;类FlyBehavior与TakeOffBehavior为抽象类,分别用于表示抽象的飞行行为与起飞行为;类SubSonicFly与SuperSonicFly分别捕述亚音速飞行和超音速飞行的行为;类Verti calTakeOff与LongDistanceTakeoff分别描述垂直起飞与长距离起飞的行为。【C++代码】includeusing namespace std;class FlyBehavior{public:virtual void fly( )=0;};class SubSonicFly:public FlyBehavior{public: void fly( ){cout"亚音速飞行! "

阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】某软件公司现欲开发一款飞机飞行模拟系统,该系统主要模拟不同种类飞机的飞行特征与起飞特征。需要模拟的飞机种类及其特征如表6-1所示。为支持将来模拟更多种类的飞机,采用策略设计模式(Strategy)设计的类图如图6-l所示。图5-11中,AirCraft为抽象类,描述了抽象的飞机,而类Helicopter、AirPlane、Fighter和Harrier分别描述具体的飞机种类,方法fly( )和takeOff( )分别表示不同飞机都具有飞行特征和起飞特征;类FlyBehavior与TakeOffBehavior为抽象类,分别用于表示抽象的飞行行为与起飞行为;类SubSonicFly与SuperSonicFly分别描述亚音速飞行和超音速飞行的行为;类Verti—calTakeOff与LongDistanceTakeOff分别描述垂直起飞与长距离起飞的行为。【Java代码】interface FlyBehavior{public void fly( );};class SubSonicFly implements FlyBehavior{public void fly( ){System.out.println("亚音速飞行!");}};class SuperSonicFly implements FlyBehavior{public void fly( ){System.out.println("超音速飞行!");}};interface TakeOffBehavior{public void takeOff( );};class VerticalTakeOff implements TakeOffBehavior{public void takeOff( ){System.out.println("垂直起飞!");}};class LongDistanceTakeOff implements TakeOffBehavior{public void takeOff( ){System.out.println("长距离起飞!");}};abstract class AirCraft{protected (1);protected (2);public void fly( ){ (3);}public void takeOff( ){ (4);};};class Helicopter (5) AirCraft{public Helicopter( ){flyBehavior=new (6) ;takeOffBehavior=new (7) ;}};//其它代码省略

阅读下列说明和Java代码,应填入(n)处。【说明】某游戏公司现欲开发一款面向儿童的模拟游戏,该游戏主要模拟现实世界中各种鸭子的发声特征、飞行特征和外观特征。游戏需要模拟的鸭子种类及其特征如表10-7所示:为支持将来能够模拟更多种类鸭子的特征,采用策略设计模式(Strategy)设计的类图如图10-12所示:其中,Duck为抽象类,描述了抽象的鸭子,而类RubberDuck、MallardDuck、 CottonDuck 和 RedHeadDuck分别描述具体的鸭子种类,方法fly()、quack()和display()分别表示不同种类的鸭子都具有飞行特征、发声特征和外观特征;接口FlyBehavior与 QuackBehavior分别用于表示抽象的飞行行为与发声行为;类FlyNoWay与FlyWithWings分别描述不能飞行的行为和用翅膀飞行的行为;类Quack、Squeak与QuackNoWay分别描述发出“嘎嘎”声的行为、发出橡皮与空气摩擦声的行为与不发声的行为。请填补以下代码中的空缺。【Java代码】(1) FlyBehavior{public void fly();};(2) QuackBehavior{public void quack();};class FlyWithWings implements FlyBehavior{public void fly(){System.out.println(“使用翅膀飞行!”);}};class FlyNoWay implements FlyBehavior{public void fly(){System.out.println(“不能飞行!”);}};class Quack implements QuackBehavior{public void quack(){System.out.println(“发出\‘嘎嘎\’声!”); }};class Squeak implements QuackBehavior{public void quack(){System.out.println(“发出空气与橡皮摩擦声 !”);}};class QuackNoWay implements QuackBehavior{public void quack(){System.out.println(“不能发声!”);}};abstract class Duck{protected FlyBehavior (3);protected QuackBehavior (4);public void fly(){ (5); }public void quack() { (6);};public (7) void display();};class RubberDuck extends Duck{public RubberDuck(){flyBehavior=new (8);quackBehavior=new (9);}public void display(){/*此处省略显示橡皮鸭的代码*/ }};//其他代码省略

阅读下列说明和c++代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】某灯具厂商欲生产一个灯具遥控器,该遥控器具有7个可编程的插槽,每个插槽都有开关按钮,对应着一个不同的灯。利用该遥控器能够统一控制房间中该厂商所有品牌灯具的开关,现采用Command(命令)模式实现该遥控器的软件部分。Command模式的类图如图5-1所示。【c++代码】}

阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】某灯具厂商欲生产一个灯具遥控器,该遥控器具有7个可编程的插槽,每个插槽都有开关按钮,对应着一个不同的灯。利用该遥控器能够统一控制房间中该厂商所有品牌灯具的开关,现采用Command(命令)模式实现该遥控器的软件部分。command模式的类图如图6-1所示。【Java代码】}

●试题一阅读下列说明和流程图,将应填入(n)的字句写在答题纸的对应栏内。【说明】下列流程图(如图4所示)用泰勒(Taylor)展开式sinx=x-x3/3!+x5/5!-x7/7!+…+(-1)n×x 2n+1/(2n+1)!+…【流程图】图4计算并打印sinx的近似值。其中用ε(0)表示误差要求。

试题三(共 15 分)阅读以下说明和 C 程序,将应填入 (n) 处的字句写在答题纸的对应栏内。

(a)智能网概念模型中分布功能平面模型如下图所示,请根据此图将应填入(n)处的 字句写在答题纸的对应栏内。

阅读下列说明和Java代码,将应填入(n)处的字句写在对应栏内。某饭店在不同的时段提供多种不同的餐饮,其菜单的结构图如图5-1所示。现在采用组合(Composition)模式来构造该饭店的菜单,使得饭店可以方便地在其中增加新的餐饮形式,得到如图5-2所示的类图。其中MenuComponent为抽象类,定义了添加(add)新菜单和打印饭店所有菜单信息(print)的方法接口。类Menu表示饭店提供的每种餐饮形式的菜单,如煎饼屋菜单、咖啡屋菜单等。每种菜单中都可以添加子菜单,例如图5-1中的甜点菜单。类MenuItem表示菜单中的菜式。

阅读下列说明和 C ++代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】某软件公司欲开发一款汽车竞速类游戏,需要模拟长轮胎和短轮胎急刹车时在路面上留 下的不同痕迹,并考虑后续能模拟更多种轮胎急刹车时的痕迹。现采用策略(Strategy)设计模式来实现该需求,所设计的类图如图 6-1 所示。【C++ 代码】#includeusing namespace std;class BrakeBehavior{public:(1) ; /*其余代码省略*/};class LongWheelBrake : public BrakeBehavior{public:void stop(){cout

阅读以下C代码,回答问题(1)~(5),将解答填入答题纸的对应栏内。【说明】以下java代码实现一个简单乐器系统,音乐类(Music)可以使用各类乐器(Instrument)进行演奏和调音等操作。对部分乐器进行建模,其类图如题5-1所示,包括:乐器(Instrument)、打击乐器(Percussion)、弦乐器(Stringed)、管乐器(Wind)、木管乐器(Woodwind)、铜管乐器(Brass)

阅读下列说明和C++-代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 某发票(lnvoice)由抬头(Head)部分、正文部分和脚注(Foot)部分构成。现采用装饰(Decorator)模式实现打印发票的功能,得到如图5-1所示的类图。【C++代码】 #include using namespace std; class invoice{ public: (1){ cout

阅读下列说明,回答问题1和问题2,将解答写在答题纸的对应栏内。【说明】 Windows 系统的用户管理配置中,有多项安全设置,如图2-1 所示。

阅读下列说明和C++代码,回答问题,将解答填入答题纸的对应栏内。【说明】某航空公司的会员积分系统将其会员划分为:普卡 (Basic)、银卡(Silver)和金卡 (Gold) 三个等级。非会员 (NonMember) 可以申请成为普卡会员。会员的等级根据其一年内累积 的里程数进行调整。描述会员等级调整的状态图如图 5-1 所示。现采用状态 (State) 模式实现上述场景,得到如图 5-2 所示的类图。【问题1】(15分)阅读上述说明和C++代码,将应填入 (n) 处的字句写在答题纸的对应栏内。

阅读下列说明和 Java 代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 某软件公司欲开发一款汽车竞速类游戏,需要模拟长轮胎和短轮胎急刹车时在路面上 留 下的不同痕迹,并考虑后续能模拟更多种轮胎急刹车时的痕迹。现采用策略(Strategy) 设 计模式来实现该需求,所设计的类图如图 5-1 所示。

阅读下列说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】  某软件公司现欲开发一款飞机飞行模拟系统,该系统主要模拟不同种类飞机的飞行特征与起飞特征。需要模拟的飞机种类及其特征如表5-1所示。表5-1 为支持将来模拟更多种类的飞机,采用策略设计模式(Strategy)设计的类图如图5-1所示。图5-1中,AirCraft为抽象类,描述了抽象的飞机,而类Helicopter、AirPlane、Fighter和Harrier分别描述具体的飞机种类,方法fly()和takeOff()分别表示不同飞机都具有飞行特征和起飞特征;类FlyBehavior与TakeOffBehavior为抽象类,分别用于表示抽象的飞行为与起飞行为;类SubSonicFly与SuperSonicFly分别描述亚音速飞行和超音速飞行的行为;类VerticalTakeOff与LongDistanceTakeOff分别描述垂直起飞与长距离起飞的行为。 【C++ 代码】 #include

阅读下列说明和C++代码,回答问题,将解答填入答题纸的对应栏内。【说明】某灯具厂商欲生产一个灯具遥控器,该遥控器具有7个可编程的插槽,每个插槽都有开关按钮,对应着一个不同的灯。利用该遥控器能够统一控制房间中该厂商所有品牌灯具的开关,现采用Command(命令)模式实现该遥控器的软件部分。Command模式的类图如下图所示。Command?模式类图

阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】  某软件公司现欲开发一款飞机飞行模拟系统,该系统主要模拟不同种类飞机的飞行特征与起飞特征。需要模拟的飞机种类及其特征如表6-1所示。表6-1为支持将来模拟更多种类的飞机,采用策略设计模式(Strategy)设计的类图6-1中,AirCraft为抽象类,描述了抽象的飞机,而类Helicopter、AirPlane、Fighter和Harrier分别描述具体的飞机种类,方法fly__(6)__和takeOff__(7)__分别表示不同飞机都具有飞行特征和起飞特征类FlyBehavior与TakeOffBehavior为抽象类,分别用于表示抽象的飞行为与起飞行为;类SubSonicFly与SuperSonicFly分别描述亚音速飞行和超音速飞行的行为;类VerticalTakeOff与LongDistanceTakeOff分别描述垂直起飞与长距离起飞的行为。【Java 代码】 interface FlyBehavior {  public void fly(); }; class SubSonicFlyimplements FlyBehavior{  public void fly(){System.out.println("亚音速飞行!"); } }; class SuperSonicFlyimplements FlyBehavior{  public void fly(){System.out.println("超音速飞行!" ); } }; interface TakeOffBehavior {  public void takeOff(); }; class VerticalTakeOffimplements TakeOffBehavior {  public void takeOff (){System.out.println("垂直起飞!" ); } }; class LongDistanceTakeOffimplements TakeOffBehavior {  public void takeOff(){System.out.println("长距离起飞!"); } };  abstract class AirCraft {      protected? (1) ?;      protected? (2) ?;  public void fly(){? (3)? ; }  public void takeOff(){?? (4)?? ; }; }; class Helicopter(5)AirCraft{      public Helicopter (){      flyBehavior = new? (6)? ;      takeOffBehavior = new?(7)? ;   }  }; //其它代码省略

阅读下列说明和C++-代码,将应填入 (n) 处的字句写在答题纸的对应栏内。【说明】 某发票(lnvoice)由抬头(Head)部分、正文部分和脚注(Foot)部分构成。现采用装饰( Decorator)模式实现打印发票的功能,得到如图5-1所示的类图。【C++代码】#includeusingnamespace std;class Invoice{public: (1) { coutinvoice!" }};classDecorator : public Invoice { Invoice *ticket;public: Decorator(lnvoice *t) { ticket = t; } void printInvoice( ){ if(ticket != NULL) (2); } };classHeadDecorator : public Decorator{public: HeadDecorator(lnvoice*t): Decorator(t) { } void printInvoice( ) { coutheader of the invoice! " (3) ; } }; class FootDecorator : public Decorator{ public: FootDecorator(Invoice *t): Decorator(t) { } void printlnvoice( ){ (4) ; coutfootnote of the invoice!" }};int main(void){ Invoice t; FootDecorator f( HeadDecorator h( h.printInvoice( ); cout FootDecorator a(NULL) ; HeadDecorator b( (5) ); b.printInvoice( ); return 0;}程序的输出结果为: This is the header of the invoice! This is the content of the invoice! This is the footnote of the invoice! ---------------------------- This is the header of the invoice! This is the footnote of the invoice!

阅读下列说明和 Java代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】某航空公司的会员积分系统将其会员划分为:普卡 (Basic) 、银卡(Silver)和金卡 (Gold)三个等级。非会员 (NonMember)可以申请成为普卡会员。会员的等级根据其 一年内累积的里程数进行调整。描述会员等级调整的状态图如图 6-1 所示 。现采用状态 (State) 模式实现上述场景,得到如图 6-2 所示的类图。

阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】 某文件管理系统中定义了类OfficeDoc和DocExplorer,当类OfficeDoc发生变化时,类DocExplorer的所有对象都要更新其自身的状态,现采用观察者(Observer)设计模式来实现该需求,所设计的类图如图6-1所示。

阅读下列说明和C++代码,将应填入 (n) 处的字句写在答题纸的对应栏内。【说明】 某大型购物中心欲开发一套收银软件,要求其能够支持购物中心在不同时期推出的各种促销活动,如打折、返利(例如,满300返100)等等。现采用策略(Strategy)模式实现该要求,得到如图5-1所示的类图。 图5-1 策略模式类图 【C++代码】#include using namespace std;enum TYPE{NORMAL, CASH_DISCOUNT, CASH_RETURN};class CashSuper{public: (1);};class CashNormal : public CashSuper { //正常收费子类public: double acceptCash(double money) { retum money; }}; class CashDiscount : public CashSuper {private: double moneyDiscount; // 折扣率public: CashDiscount(double discount) { moneyDiscount=discount; } double acceptCash(double money) { retum money *moneyDiscount; }};class CashRetum : public CashSuper { // 满额返利private: double moneyCondition; // 满额数额 double moneyReturn; // 返利数额public: CashRetnm(doublemotieyCondition, double moneyReturn) { this->moneyCondition=moneyCondition; this->moneyReturn=moneyRetum; } double acceptCash(doublemoney) { double result =money; if(money>=moneyCondition) result=money-(int)(money/moneyCondition ) * moneyRetum; return result ; }};class CashContext {private: CashSuper *cs;public: CashContext(int type) { switch(type) { caseNORMAL: //正常收费 (2) ; break; case CASH_RETURN: //满300返100 (3) ; break; case CASH_DISCOUNT: //打八折 (4) ; break; }}double GetResult(double money) { (5) ; }};//此处略去main( )函数

阅读下列说明和?C++代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】阅读下列说明和?Java代码,将应填入?(n)?处的字句写在答题纸的对应栏内。【说明】某快餐厅主要制作并出售儿童套餐,一般包括主餐(各类比萨)、饮料和玩具,其餐品种类可能不同,但其制作过程相同。前台服务员?(Waiter)?调度厨师制作套餐。现采用生成器?(Builder)?模式实现制作过程,得到如图?6-1?所示的类图。

读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。【说明】某小学委托一个软件公司帮助开发一款小学数学多媒体课件。多媒体课件开发的过程应该是教学设计与软件工程的完美结合的过程,另外还要考虑到小学生的学习心理等因素。因此,开发一款优秀的多媒体课件需要不同类型的开发和设计人员参与,请列举五类开发和设计人员。

问答题读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。【说明】某小学委托一个软件公司帮助开发一款小学数学多媒体课件。多媒体课件开发的过程应该是教学设计与软件工程的完美结合的过程,另外还要考虑到小学生的学习心理等因素。因此,开发一款优秀的多媒体课件需要不同类型的开发和设计人员参与,请列举五类开发和设计人员。