观察者代码示例
来源:互联网 发布:solaris和centos 编辑:程序博客网 时间:2024/06/07 12:32
package com.example.guanchazhe;/** * 抽象的被观察者(主题角色) * @author Administrator * 添加方法 * 移除方法 * 通知方法 */public interface Watched{public void addWatcher(Watcher watcher );public void removeWatcher(Watcher watcher );public void notifyWatcher(String str );}
package com.example.guanchazhe;import java.util.ArrayList;import java.util.List;/** * 具体的主题角色 * @author Administrator * */public class ConcreteWatched implements Watched{//存放观察者private List<Watcher> list = new ArrayList<Watcher>();@Overridepublic void addWatcher(Watcher watcher ){// TODO Auto-generated method stublist.add( watcher );}@Overridepublic void removeWatcher(Watcher watcher ){// TODO Auto-generated method stublist.remove( watcher );}@Overridepublic void notifyWatcher(String str ){// TODO Auto-generated method stubfor( Watcher watcher : list ){watcher.update( str );}}}
package com.example.guanchazhe;/** * 抽象的观察者 * @author Administrator * */public interface Watcher{public void update(String str );}
package com.example.guanchazhe;/** * 定义具体的观察者 * @author Administrator * */public class ConcreteWatcher implements Watcher{@Overridepublic void update(String str ){System.out.println( str );}}
package com.example.guanchazhe;public class TestActivity{public static void main(String[] args ){Watched girl = new ConcreteWatched();Watcher watcher1 = new ConcreteWatcher();Watcher watcher2 = new ConcreteWatcher();Watcher watcher3 = new ConcreteWatcher();girl.addWatcher( watcher1 );girl.addWatcher( watcher2 );girl.addWatcher( watcher3 );girl.notifyWatcher( "这个属于观察者模式" );}}
输出结果是:
这个属于观察者模式
这个属于观察者模式
这个属于观察者模式
0 0
- 观察者代码示例
- 观察者模式示例代码
- c++观察者模式代码示例
- 观察者模式示例
- 观察者模式-示例
- 观察者模式示例
- 观察者设计模式示例
- JAVA中观察者模式示例
- 观察者模式的一个示例
- scala实现观察者模式示例
- 观察者模式实例代码
- 代码示例
- 代码示例
- 示例代码
- 示例代码
- 面向对象----观察者模式(示例)
- JAVA设计模式示例-3 观察者模式
- C#观察者模式参考代码
- poj3278(bfs)
- zookeeper 简介
- 【Android】定制ListView界面及代码优化
- eclipse下载地址
- java自身的动态代理简单例子。
- 观察者代码示例
- 反爬虫策略
- pp模块生产策略组-对于零部件计划策略
- Altera Arria 10 PCIe大数据加速卡
- 222_尚学堂_高淇_java300集最全视频教程_JVM核心机制_深入类加载器_自定加密解密类加载器
- BZOJ - 2741: 【FOTILE模拟赛】L 分块+可持久化数据结构
- AngularJs中,如何在render完成之后,执行Js脚本
- 反爬虫办法策略
- 良好的编程习惯