推广

Java观察者模式

iseeyu2年前 (2024-02-21)推广119

2、对象行为

3、测试代码

4、结果

回到正题。

如何实现观察者模式

第一步:我们需要主题,主题就是被观察者,被观察者就是不断在改变自身状态的对象,在程序当中我们经常需要根据某个对象的状态来在不同的地方做相应的操作,比如:

Java观察者模式

addObsercer()、removeObserver()、notifyObserver()就是Observerable抽象主题类的方法。以下可以看到抽象主题类中有个Observer集合,其作用就是提供一个容器来存放观察者对象,也可以移除。所以继承了这个类就可以对这个集合进行操作,也可以操作集合中的对象的方法。

Observer接口就是抽象观察者了,对象实现了这个接口就相当与是具体观察者。

getMessage()方法是用来被 被观察者 调用的,相当于是观察者收到了通知。

第二步:我们需要观察者,任何需要根据另外一个对象的状态变化而变化的对象,都可以理解为是观察者。

阿珍和田鸡要重当观察者,所以实现了Observer接口,所以都有一个同样的getMessage方法,阿强通过调用阿珍和田鸡的getMessage方法才能让他们两收到通知。

第三步:测试,这里我调用test执行

运行:结果如下

阿强调用gotoPark()方法出门的时候也调用了阿珍和田鸡的getMessage()方法,所以阿珍和田鸡收到了消息,也调用gotoPark出门去公园。

总结:

本质上还是对象A持有另外一个对象B的引用,所以A可以调用B的方法,B对象可以根据传入的参数来做相应的操作。Observer接口和Observerable抽象接口,主要是为了可以让任意对象得到扩展,从而变成观察者或被观察者。

上面的阿强也可以不实现抽象接口,只要在阿强里面添加一个成员变量来表示阿珍,一个成员变量表示田鸡,再对应增加他们的set方法,然后在阿强去公园的时候使用阿珍和田鸡这两个成员变量分别去调用各自的gotoPark方法,也能达到同样的效果。但显然这种方式是比较不灵活的。

by the way:

接口类是能力。

抽象类是本质。

扫描二维码推送至手机访问。

版权声明:本文由西安泽虎代运营发布,如需转载请注明出处。

转载请注明出处https://www.0291.com.cn/post/56737.html

相关文章

如何从容面对网站seo排名上升或者下降。

如何从容面对网站seo排名上升或者下降。

我们SEO的目标之一就是提高排名,但有时我们的排名会上升,但我们可能无法轻松享受这一成果,因为有些排名上升不一定是我们预期的效果。有些人可能会说,无论如何,排名上升是件好事。为什么担心?其实,如果是名不见经传的排名上升,我们也不能掉以轻心。 根据之前的网站建设过程,我们将通过以下内容...

最有效果的户外广告(户外广告)

最有效果的户外广告(户外广告)

全球华人总裁卓越行销力导师暨中国广告传媒培训第一人,品牌竞合力暨切割领导力艺术创始人兼总教练,中国广告销冠实战总教练彭小东导师的观点:不是我们的广告没效果,也不是消费者大众讨厌广告,更不是广告主不愿投放,而是没有好的广告创意,尤其是有创意的户外广告,有创意的户外不仅能吸引每天数以万计的人群,而且还能...

软文营销需要注意事项有哪些?

软文营销需要注意事项有哪些?

软点通为您解答:企业在进行的时候,不仅需要掌握一些写作以及策略,同时也需要了解一些注意事项,只有这样才能展现出软文营销的效果,从而让企业获得一定的利益。软文营销的注意事项有哪些呢?1、文章的真实性文章内容必须要有真实性,这样才能起到宣传企业的效果,如果文章内容夸大其词,就会...

网站SEO优化的过程是一个量变和质变的过程。

网站SEO优化的过程是一个量变和质变的过程。

优化的过程是一个量变和质变的过程。网站收录和排名从头开始,内容更新稳定。小编认为网站优化是一个从数量积累到质变的过程。 网站SEO优化要获得词库排名,这个过程需要优化周期。网站优化前、中、后都需要做好网站内外的优化工作。稳定持续的优化增加了域名的信任度。词库、内容和外部链操作是网站SEO...

我来分享现在信息已经这么牛了?黑客通过主机散热风扇传递消息。

我来分享现在信息已经这么牛了?黑客通过主机散热风扇传递消息。

如果你真的想要确保你的计算机不会受到攻击,断开网络连接是一个很好的方法——而最新研究显示,这不一定足以防止数据从你的电脑中被窃取。 一名以色列科学家的研究表明,现如今最新的恶意软件,甚至可以攻击断了网的电脑。它们通过分析电脑内部风扇转动的声音,提取你的电脑的数据,以达到攻击的目的。是不是听了网站托...

企业为什么要做SEO(搜索引擎优化),SEO能为企业带来什么价值。

企业为什么要做SEO(搜索引擎优化),SEO能为企业带来什么价值。

搜索结果分为商业推广和自然搜索,是由完全独立的两个部门分别运营两套独立系统。 商业推广:根据广告出价高低进行广告排名。 自然排名:通过搜索引擎超链接分析技术和搜索引擎投票算法把网站进行排序和评级。权重高、优化好的网站自然会有好的排名。 为企业带来什么? 提升消费者...

现在,非常期待与您的又一次邂逅

我们努力让每一部企业宣传片和抖音短视频成为商业大片