news 2026/8/28 20:11:42

设计模式:观察者模式(Observer Pattern、JDK实现)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
设计模式:观察者模式(Observer Pattern、JDK实现)
import java.util.Observable; import java.util.Observer; /** * 观察者模式(JDK实现)。 * @author Bright Lee */ public class JdkObserverPattern { public static void main(String[] args) { AnimalKeeper subject = new AnimalKeeper(); // 饲养员(主题) Observer tiger = new Tiger(); // 老虎 Observer bear = new Bear(); // 狗熊 Observer fox = new Fox(); // 狐狸 subject.addObserver(tiger); // 把老虎设为观察者 subject.addObserver(bear); // 把狗熊设为观察者 subject.addObserver(fox); // 把狐狸设为观察者 subject.setChanged(); subject.notifyObservers("快来吃饭!"); // 饲养员通知所有观察者 System.out.println("=================="); subject.deleteObserver(bear); // 把狗熊从观察者名单中移除 subject.setChanged(); subject.notifyObservers("快来喝水!"); // 饲养员再次通知所有观察者 } } class AnimalKeeper extends Observable { public void setChanged() { super.setChanged(); } } class Tiger implements Observer { public void update(Observable o, Object msg) { System.out.println("老虎收到通知:" + msg); } } class Bear implements Observer { public void update(Observable o, Object msg) { System.out.println("狗熊收到通知:" + msg); } } class Fox implements Observer { public void update(Observable o, Object msg) { System.out.println("狐狸收到通知:" + msg); } }

打印结果如下:

狐狸收到通知:快来吃饭!
狗熊收到通知:快来吃饭!
老虎收到通知:快来吃饭!
==================
狐狸收到通知:快来喝水!
老虎收到通知:快来喝水!

青蛙客服系统:https://download.csdn.net/download/look4liming/93326820

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/28 20:07:30

C++ STL list模拟实现:从节点、迭代器到深拷贝与性能优化

1. 项目概述:为什么要模拟实现一个list?在C的日常开发中,STL(Standard Template Library)的std::list几乎是处理双向链表需求时的首选。它封装完善,接口丰富,用起来非常顺手。但不知道你有没有过…

作者头像 李华
网站建设 2026/8/28 20:06:04

从蓝桥杯国赛题解析异或运算与数位DP的深度结合

1. 项目概述:从一道国赛题看异或运算的深度应用“蓝桥杯2021国赛-异或三角”这道题,乍一看标题,很多同学可能会有点懵。异或?三角?这两个词组合在一起,听起来像是某种神秘的几何加密。实际上,这…

作者头像 李华
网站建设 2026/8/28 20:05:59

蓝桥杯单片机国赛实战:从DAC驱动到系统集成的嵌入式开发心法

1. 从“真题”到“实战”:第七届蓝桥杯单片机国赛的深度复盘 提起蓝桥杯单片机竞赛,尤其是国赛级别的题目,很多电子、自动化相关专业的朋友都会心头一紧。它不像一些纯理论的考试,背背书就能过关。国赛真题,尤其是第七…

作者头像 李华
网站建设 2026/8/28 19:56:42

优化电源模块提升电动车续航:DC-DC效率实测与工程实践

在电动车三电系统这行干得久了,你会发现一个很有意思的现象:很多人聊续航,张口闭口都是电池容量、电机效率、风阻系数,却几乎没人会提起车上那个不起眼的供电模块。但我自己经手过几个整车优化项目后,越来越确信一件事…

作者头像 李华
网站建设 2026/8/28 19:51:06

C++全排列算法解析:从next_permutation到蓝桥杯算式问题实战

1. 项目概述与核心思路看到“2012年蓝桥杯国赛算式问题C解法(全排列So Easy)”这个标题,很多参加过蓝桥杯或者正在备赛的同学应该会心一笑。这确实是一道非常经典的题目,它完美地诠释了算法竞赛中“暴力美学”的魅力,也…

作者头像 李华
网站建设 2026/8/28 19:50:35

禁忌搜索算法性能评估:从原理到实践,破解组合优化难题

1. 项目概述:当“禁忌”成为智慧,组合优化难题的破局者在解决那些让人头疼的组合优化问题时,比如车辆路径规划、生产排程、电路板布线,我们常常会陷入一个困境:传统的精确算法(如分支定界)在面对…

作者头像 李华