package observer;
import java.util.Observable;
/**观察者模式的意图是“定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新
*
*
* 我们的被观察者应该继承这个类Observable,这个Observable类把持住了被观察者所持有的观察者列表。
*
*
* Teacher为被观察者 例子是这样 老师说同学们好,同学们跟着老师的状态的改变而改变,同学们说老师好
*/
public class Teacher extends Observable{
//业务方法,执行某个操作,则通知观察者
public void say(String str){
System.err.println(str);
if(true){
super.setChanged();
}
//通知操作,这个方法接受一个参数,这个参数一直传到观察者里,以供观察者使用。
notifyObservers("老师好!");
}
public static void main(String[] args) {
Teacher teacher=new Teacher();
Astudent a=new Astudent();
Bstudent b=new Bstudent();
Cstudent c=new Cstudent();
//向被观察者的观察者列表中增加观察者
teacher.addObserver(a);
teacher.addObserver(b);
teacher.addObserver(c);
//被观察者执行业务方法
teacher.say("同学们好");
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
testWeb.rar (40个子文件)
testWeb
.project 1KB
WebContent
WEB-INF
lib
js
test.js 72B
META-INF
MANIFEST.MF 39B
testJS.jsp 635B
src
factory
Nvwa.java 308B
Test.java 579B
Li.java 309B
People.java 117B
Zhang.java 314B
observer
Cstudent.java 419B
Bstudent.java 423B
Teacher.java 1KB
Astudent.java 431B
singleton
Singleton1.java 341B
Singleton3.java 338B
Singleton2.java 360B
meiwenti
Singleton4.java 434B
Singleton.java 954B
.settings
org.eclipse.wst.jsdt.ui.superType.container 49B
org.eclipse.wst.common.project.facet.core.xml 345B
org.eclipse.jdt.core.prefs 395B
org.eclipse.wst.jsdt.ui.superType.name 6B
org.eclipse.wst.common.component 475B
.jsdtscope 503B
build
classes
factory
Nvwa.class 749B
Zhang.class 698B
Li.class 692B
People.class 151B
Test.class 704B
observer
Cstudent.class 805B
Astudent.class 805B
Teacher.class 1KB
Bstudent.class 806B
singleton
Singleton2.class 455B
Singleton1.class 465B
Singleton3.class 488B
meiwenti
Singleton$SingletonInstanceClass.class 703B
Singleton4.class 599B
Singleton.class 619B
.classpath 841B
共 40 条
- 1
it_java_wh
- 粉丝: 0
- 资源: 8
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- mosquitto-2.018-install-windows-x64
- FTPServer FTP 服务器,绿色免安装,单文件
- 梦畅语音点名软件,上课点名
- 利用ADNI数据集和标签,在tensorflow框架上使用tensorlayer接口,通过架构u-net实现海马体的分割
- Kutools for Word v9.0 office word 插件
- 修复Windows 10 LTSC 2021资源占用率高
- Hash工具,小巧绿色hash校验工具,免费hash工具
- 重启进行BIOS快捷方式,不需要开机按BIOS键
- 鸭子开车记(儿童绘本)
- 威纶通触摸屏编程软件Easy builder pro V6.09.01.556安装包(2024.04).txt
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页