有些人已经解决了你的问题
关键词
Duck、Fly、Queck、Interfere接口为成员变量、OO原则、不变与变分离(高耦合)
内容
- 在Duck父类中,行为通过接口实现,使得扩展性好,以及子类通过继承父类同样可以通过加入具体的接口得到扩展。
- 例子:Duck中有个接口为FlyBehavior为成员变量,通过成员函数PerformFly()调用FlyBehavior接口中的函数Fly()实现,ModelDuck继承Duck,具体行为NoWingFly继承FlyBehavior,可以通过在构造函数中通过多态,FlyBehavior flyBehavioF = new NoWingFly()实现具体的ModelDuck的动作。
- 通过可以通过加入SetFlyBehavior()动态的设置飞行动作接口的具体实现,