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