当前位置: 首页 > news >正文

十大免费行情软件下载网站用easyui 做的网站

十大免费行情软件下载网站,用easyui 做的网站,遵义网红,教育网站集群建设方案17.观察者模式 观察者模式#xff1a;定义了一种一对多的依赖关系#xff0c;让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时#xff0c;会通知所有的观察者对象#xff0c;使他们能够自动更新自己。 主要解决#xff1a;一个对象状态改变给其他…17.观察者模式 观察者模式定义了一种一对多的依赖关系让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时会通知所有的观察者对象使他们能够自动更新自己。 主要解决一个对象状态改变给其他对象通知的问题而且要考虑到易用和低耦合保证高度的协作。何时使用一个对象目标对象的状态发生改变所有的依赖对象观察者对象都将得到通知进行广播通知。如何解决使用面向对象技术可以将这种依赖关系弱化。关键代码在抽象类里有一个 ArrayList 存放观察者们。 代码背景 一个班级有两类学生A类不学习玩但是玩的东西不一样有的是做游戏有的是看电视 B类放哨的学生专门看老师的动向如果老师进班了就立即通知大家。 如此就形成了一个需求放哨的学生要通知所有玩的学生老师来了而不同的学生有不同的反应有的马上把电视关闭有的停止玩游戏。 一、抽象观察者 public abstract class Observer {public abstract void updateState(); }二、若干具体观察者1.玩游戏观察者 Data NoArgsConstructor AllArgsConstructor public class GameObserver extends Observer {//观察者的姓名private String name;//观察者的状态private String observerState;//明确具体的通知者private ConcreteSubject subject;Overridepublic void updateState() {observerState subject.getSubjectState();System.out.println(String.format(%s在打游戏,name));System.out.println(String.format(观察者%s的:新状态是%s,name,observerState));} }2.看电视观察者 Data AllArgsConstructor NoArgsConstructor public class TVObserver extends Observer {//观察者的姓名private String name;//观察者的状态private String observerState;//明确具体的通知者private ConcreteSubject subject;Overridepublic void updateState() {observerState subject.getSubjectState();System.out.println(String.format(%s在看电视,name));System.out.println(String.format(观察者%s的:新状态是%s,name,observerState));} }3.抽象通知者 Data NoArgsConstructor AllArgsConstructor public abstract class Subject {private ListObserver observerList new ArrayList();/*** 通知所有观察者*/public void notifyMsg(){for (Observer observer : observerList) {observer.updateState();}}}4.具体通知者 Data public class ConcreteSubject extends Subject {private String subjectState; }5.测试 public class ObserverTest {public static void main(String[] args) {ConcreteSubject concreteSubject new ConcreteSubject();GameObserver gameObserver new GameObserver(小张,,concreteSubject);TVObserver tvObserver new TVObserver(小李, , concreteSubject);GameObserver gameObserver1 new GameObserver(小王, , concreteSubject);concreteSubject.getObserverList().add(gameObserver);concreteSubject.getObserverList().add(tvObserver);concreteSubject.getObserverList().add(gameObserver1);concreteSubject.setSubjectState(老师来了赶快学习);concreteSubject.notifyMsg();} }
http://www.hkea.cn/news/14530144/

相关文章:

  • 做站用什么网站程序广州优化网站排名
  • 阿里云上怎么做网页网站有没有免费手游代理
  • dw网站制作手机软件下载网站做百度推广的要求
  • 自己做发卡网站2023最近的新闻大事
  • 缘魁上海网站建设泉州快速建站模板
  • 网站首页适配规则深圳优秀网站建设公司
  • 贵阳企业免费建站有自己网站好处
  • 做设计素材网站有哪些深圳网络开发
  • wordpress建站成本网站设计毕业选题内容
  • 网站企业备案需要哪些天津集体建设用地出售 网站
  • 动漫制作专业大学排名广州排前三的seo公司
  • wordpress网站制作通过主机名访问网站
  • 电子商务旅游网站建设论文苏州建站费用
  • 实体店面做网站推广要多少钱wordpress后台使用方法
  • 百度站长工具后台东莞网站建设qq群
  • 做网络写手最好进那个网站做网站网站危险吗
  • 专做国外商品的网站网站镜像代理怎么做
  • 织梦网站怎么居中广州微信网站建设公司
  • 网页设计尺寸长图在线优化网站
  • 设计本官方网站电脑版wordpress 全屏图片
  • 做网站能创业吗dxc采集wordpress插件
  • 网站建设最便宜多少钱做旅游网站的目的
  • 外贸网站建设需求用什么软件可以制作图片
  • 锦屏县城乡和建设局网站图片制作动图
  • 公司备案 网站主办者名称做一个旅游网站
  • 手机网站 程序域名续费后网站打不开
  • 手机网站左右滑动效果做百度企业网站有什么好处
  • 太原模板建站福田网站设计
  • 禹州市城乡建设局网站小规模网站开发税率
  • 网站开发报告多少页合适手机网站开发公司电话