万能百科  > 所属分类  > 

阅读下列说明和Java代码,应填入(n)处。 【说明】 某游戏公司现欲开发一款面向儿童的模拟游戏,该游戏

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

};

//其他代码省略

正确答案:

(1) interface(2) interface(3) flyBehavior(4) quackBehavior(5) flyBehavior.fly()(6) quackBehavior.quack()(7) abstract(8) FlyNoWay()(9) Squeak()(1) interface(2) interface(3) flyBehavior.(4) quackBehavior.(5) flyBehavior.fly()(6) quackBehavior.quack()(7) abs

词条内容仅供参考,如果您需要解决具体问题
(尤其在法律、医学等领域),建议您咨询相关领域专业人士。

标签