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

自己建设网站怎么做国内最新军事新闻

自己建设网站怎么做,国内最新军事新闻,设计官网页面多少钱,公司网站模板大全Java中的观察者模式是一种设计模式,它允许一个对象在状态发生改变时通知它的所有观察者。这种模式在许多情况下都非常有用,例如在用户界面中,当用户与界面交互时,可能需要通知其他对象。 下面是一个简单的Java代码示例&#xff0…

Java中的观察者模式是一种设计模式,它允许一个对象在状态发生改变时通知它的所有观察者。这种模式在许多情况下都非常有用,例如在用户界面中,当用户与界面交互时,可能需要通知其他对象。

下面是一个简单的Java代码示例,演示了观察者模式的基本用法:

public interface Observer {void update();
}public interface Subject {void registerObserver(Observer observer);void removeObserver(Observer observer);void notifyObservers();
}public class ConcreteSubject implements Subject {private List<Observer> observers = new ArrayList<>();@Overridepublic void registerObserver(Observer observer) {observers.add(observer);}@Overridepublic void removeObserver(Observer observer) {observers.remove(observer);}@Overridepublic void notifyObservers() {for (Observer observer : observers) {observer.update();}}
}public class ConcreteObserver implements Observer {private ConcreteSubject subject;@Overridepublic void update() {subject.notifyObservers();}
}

在这个例子中,我们定义了两个接口:Observer和Subject。Observer表示观察者,它有一个update()方法,当观察者需要被通知时,它会调用这个方法。Subject表示被观察者,它有一个registerObserver()方法用于添加观察者,一个removeObserver()方法用于删除观察者,以及一个notifyObservers()方法用于通知所有观察者。我们还定义了一个ConcreteSubject类来实现Subject接口,并实现了一个ConcreteObserver类来实现Observer接口。最后,我们在ConcreteSubject中实现了通知所有观察者的方法。


下面又是一个简单的Java代码示例:

// 定义一个观察者接口
interface Observer {void update();
}// 定义一个被观察者类
class Subject {private List<Observer> observers = new ArrayList<>();public void attach(Observer observer) {observers.add(observer);}public void detach(Observer observer) {observers.remove(observer);}public void notifyObservers() {for (Observer observer : observers) {observer.update();}}
}// 定义一个实现观察者接口的类
class ConcreteObserver1 implements Observer {@Overridepublic void update() {System.out.println("ConcreteObserver1 updated");}
}class ConcreteObserver2 implements Observer {@Overridepublic void update() {System.out.println("ConcreteObserver2 updated");}
}// 测试代码
public class ObserverPatternDemo {public static void main(String[] args) {Subject subject = new Subject();ConcreteObserver1 observer1 = new ConcreteObserver1();ConcreteObserver2 observer2 = new ConcreteObserver2();subject.attach(observer1);subject.attach(observer2);subject.notifyObservers(); // 输出:ConcreteObserver1 updated和ConcreteObserver2 updatedsubject.detach(observer1); // 输出:ConcreteObserver2 updated,因为observer1已经被移除掉了subject.notifyObservers(); // 输出:ConcreteObserver2 updated,因为只有observer2被通知了,而observer1已经被移除掉了}
}

在这个示例中,我们定义了一个Subject类作为被观察者,它维护了一个观察者列表,并实现了attach和detach方法来添加和移除观察者。我们还定义了一个Observer接口,它包含了一个update方法,用于通知观察者状态已经改变。最后,我们定义了两个实现Observer接口的类ConcreteObserver1和ConcreteObserver2,它们分别实现了update方法。在测试代码中,我们创建了一个Subject对象,并添加了两个观察者ConcreteObserver1和ConcreteObserver2。然后我们调用Subject的notifyObservers方法来通知所有观察者状态已经改变,并打印出观察者的更新信息。接着我们移除了观察者ConcreteObserver1,再次调用notifyObservers方法时,只有ConcreteObserver2被通知了。

http://www.yayakq.cn/news/893666/

相关文章:

  • 网站建设的发展序列wordpress兑换卡密
  • 企业网站模板建站怎么用在百度做广告多少钱
  • 现在哪个网站可以做外贸硬件开发是什么意思
  • 益阳北京网站建设网站开发质保
  • 校园二手市场网站建设定制网站建设公司策划书
  • 北京网站建设+招聘信息长沙推广网络营销公司
  • django 开放api 做网站wordpress设置vip用户可见
  • 网站挂马解决wordpress标题收起
  • 超市网站模版南通网站制作推广
  • 怎么做网站快捷方式小说风云榜
  • html语言做的网站和asp的区别网站怎么申请怎么注册
  • 网站建设公司销售前景网站设计论文摘要
  • 网站服务器怎么配网站建设对应的岗位
  • 天猫网站网址网站模板制作教程视频教程
  • 固始县网站建设培训渠道推广代理
  • 无锡网站建设价格最优简单的旅游网站代码
  • 百度统计网站速度诊断沈阳市城市建设学院官方网站
  • 印度网站后缀网站建设的案例教程视频
  • 医院网站建设平台中山做网站的公司哪家好
  • 怎样制作网站二维码东莞网络推广托管
  • 专业建站公司主要做什么公众平台账号授权怎么弄
  • 数字货币交易网站开发怎么做wordpress主题不更新
  • 领动建站建网站一定要备案吗
  • 地产网站模板建设部咨询资质网站
  • 基层组织建设部 网站wordpress谷歌字体加载慢
  • 基于node网站毕设代做百度seo和谷歌seo有什么区别
  • 德州做网站的公司知识产权网站模板
  • 学做网站有前途吗网站的html
  • 网站运行模式模板网站与定制开发网站的区别
  • 无锡机关单位建设网站wordpress开玩笑 呵