阅读HeadFirst设计模式一书,总结
策略模式
定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户
步骤
1.因为不同的鸭子拥有不同的飞和叫的行为,因此需要将这2个行为专门提取出来,创建对应的接口,方便以后的扩展,不同接口定义不同的实施方法,之后所有飞或叫的行为都需要实现各自的接口,并实现这个实施方法
1 | ---------------------------------------------------接口 |
2.编写Duck总类,即所有的鸭子最后都要继承于它
1 | public abstract class Duck { |
3.编写鸭子的继承类
1 | public class MallarDuck extends Duck { |
4.编写测试类
1 | public class Test { |