设计模式-策略模式
来源:互联网 发布:linux ssh ppk 编辑:程序博客网 时间:2024/05/22 12:12
策略模式:定义算法族,并封装起来,可以互相替换,这就是策略模式。
策略模式,使得代码可以尽量多的复用。
把变化的内容提取出来,作为接口,根据需求做出多种实现,这就可以看成一个个的算法族。在超类中声明接口类型的属性,并定义个变化行为的方法,让接口调用实现类的方法代替超类自己去实现。
超类:
package ModelTest;public abstract class MakeAnimalCry {Cry cry;public void makeCry(){cry.crying();}}
接口和两个实现类
package ModelTest;public interface Cry {public void crying();}
package ModelTest;public class DogCry implements Cry {@Overridepublic void crying() {System.out.println("wang");}}
package ModelTest;public class CatCry implements Cry {@Overridepublic void crying() {System.out.println("miao");}}
抽象类的子类
package ModelTest;public abstract class MakeAnimalCry {Cry cry;public void makeCry(){cry.crying();}}
测试类:
package ModelTest;public class TC {public static void main(String[] args) {MakeAnimalCry mac=new TestMakeCry(new CatCry());mac.makeCry();}}
0 0
- 设计模式-策略模式
- 设计模式:策略模式
- 设计模式-策略模式
- 设计模式 - 策略模式
- 设计模式-策略模式
- 设计模式-----策略模式
- 设计模式 策略模式
- 设计模式-策略模式
- 设计模式-【策略模式】
- 设计模式-----策略模式
- 设计模式-策略模式
- 设计模式--策略模式
- 设计模式- 策略模式
- 设计模式- 策略模式
- 设计模式------策略模式
- 设计模式--策略模式
- 设计模式-策略模式
- 设计模式--策略模式
- hdoj排名
- Objective-C 字符串二 "可变字符串"
- Hibernate的一个注释 @Transient
- [Python标准库]re——正则表达式[五]
- 聊聊Quartz那点事儿
- 设计模式-策略模式
- LeetCode 198:House Robber
- hiho 18 19 使用线段树进行区间查找和更新
- UIScrollView常见方法
- nginx实现反向代理
- Objective-C 字符串一 "不可变字符串"
- 基本算法集锦
- 记一些事,免得以后忘了。关于SetWindowLong
- 【UML】活动图和状态图