publicclassMallardDuckextendsDuck{publicMallardDuck(){this.setQuackBehavior(newQuack());this.setFlyBehavior(newFlyWithWings());}@Overridepublicvoiddisplay(){
System.out.println("I'm a real Mallard Duck.");}}
策略模式(the story of the duck)问题引入有一群小鸭子,我们需要使用高级语言来完成对他们的行为的描述。那么首先想到的就是,我们可以抽象不同鸭子的行为,比如fly、quack等行为,于是乎我们得到了abstract class Duckpublic abstract class Duck { public abstract void display(); public abstract void performFly(); public abstract