阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】某软件公司现欲开发一款飞机飞行模拟系统,该系统主要模拟不同种类飞机的飞行特征与起飞特征。需要模拟的飞机种类及其特征如表6-1所示。为支持将来模拟更多种类的飞机,采用策略设计模式(Strategy)设计的类图如图6-l所示。图5-11中,AirCraft为抽象类,描述了抽象的飞机,而类Helicopter、AirPlane、Fighter和Harrier分别描述具体的飞机种类,方法fly( )和takeOff( )分别表示不同飞

题目

阅读下列说明和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) ;

}

};

//其它代码省略


相似考题

4.阅读下列说明和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(){/*此处省略显示橡皮鸭的代码*/ }};//其他代码省略

更多“ 阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】某软件公司现欲开发一款飞机飞行模拟系统,该系统主要模拟不同种类飞机的飞行特征与起飞特征。需要模拟的飞机种类及其特征如表6-1所示。为”相关问题
  • 第1题:

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




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

  • 第2题:

    阅读下列说明和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 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)? ;
       }
      };
     //其它代码省略


    答案:
    解析:
    试题答案 (1)FlyBehavior

  • 第3题:

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






    答案:
    解析:

  • 第4题:

    阅读下列说明和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


    答案:
    解析:
    (1)FlyBehavior*flyBehavior      
    (2)TakeOffBehavior*takeOffBehavior

  • 第5题:

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



    答案:
    解析:
    1: void update()2: Observer3: obs.update()4: Subject5: Attach(this)