首页 > 其他分享 >软件设计实验 21:观察者模式

软件设计实验 21:观察者模式

时间:2023-11-28 22:22:06浏览次数:34  
标签:21 软件设计 void System 观察者 rate println public out

实验 21:观察者模式

本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:

1、理解观察者模式的动机,掌握该模式的结构;

2、能够利用观察者模式解决实际问题。

 

[实验任务一]:股票提醒

当股票的价格上涨或下降5%时,会通知持有该股票的股民,当股民听到价格上涨的消息时会买股票,当价格下降时会大哭一场。

实验要求:

1. 提交源代码;

 

public class Stock extends MySubject {

    public void change(int rate) {

        for (Object obs : observers) {

            ((MyObserver) obs).response(rate);

        }

    }

}

 

 

import java.util.ArrayList;

public abstract class MySubject {

    protected ArrayList<MyObserver> observers = new ArrayList<MyObserver>();

//注册方法

    public void attach(MyObserver observer) {

        observers.add(observer);

    }

//注销方法

    public void detach(MyObserver observer) {

        observers.remove(observer);

    }

//抽象通知方法

    public abstract void change(int rate);

}

 

 

public interface MyObserver {

    void response(int rate);

}

 

 

public class Holders implements MyObserver {

    public void response(int rate) {

        if (rate >= 5) {

            System.out.println("股票上涨,买买买");

        } else if (rate <= -5) {

            System.out.println("股票下跌,大哭一场");

        } else {

            System.out.println("股票比较稳定,还好还好");

        }

    }

}

 

 


public class Client {

    public static void main(String args[]) {

        MySubject subject = new Stock();

        MyObserver obs1;

        obs1=new Holders();

        subject.attach(obs1);

        System.out.println("****股票上涨****");

        subject.change(5);

        System.out.println("");



        System.out.println("****股票下跌****");

        subject.change(-5);

        System.out.println("");



        System.out.println("****股票稳定****");

        subject.change(4);

        System.out.println("");

    }

}

 

2. 提交类图;

 

 

3. 注意编程规范。

 

 

标签:21,软件设计,void,System,观察者,rate,println,public,out
From: https://www.cnblogs.com/DREAM2021/p/17863264.html

相关文章

  • 【LCD驱动】VK1C21系列是抗干扰LCD液晶显示驱动芯片,可驱动32*4/18*4/14*4点 ESD防护能
    产品型号:VK1C21A/B产品品牌:永嘉微电/VINKA封装形式:SSOP48/LQFP48可定制裸片:DICE(COB邦定片);COG(邦定玻璃用)产品年份:新年份原厂,工程服务,技术支持! 概述:VK1C21A/B是一个点阵式存储映射的LCD驱动器,可支持最大128点(32SEGx4COM)的LCD屏,也支持2COM和3COM的LCD屏。单片机可通过......
  • springcloud~spring-cloud-starter-alibaba-nacos-discovery-2021.0.1.0配置方式变更
    nacos的配置方式发生改变,之前的方式不再适用,我们需要进行调整包依赖pom.xml代码,引入基础pom依赖<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>2021.0.1.0<</ve......
  • 219. 存在重复元素 II
    你一个整数数组nums和一个整数k,判断数组中是否存在两个不同的索引i和j,满足nums[i]==nums[j]且abs(i-j)<=k。如果存在,返回true;否则,返回false。示例1:输入:nums=[1,2,3,1],k=3输出:true>代码classSolution{public:boolcontainsNearbyD......
  • KBP210-ASEMI整流桥KBP210参数、封装、尺寸
    编辑:llKBP210-ASEMI整流桥KBP210参数、封装、尺寸型号:KBP210品牌:ASEMI封装:KBP-4正向电流:2A反向电压:1000V引线数量:4芯片个数:4芯片尺寸:95MIL漏电流:<5ua恢复时间:>500ns浪涌电流:60A芯片材质:正向电压:1.10V封装尺寸:如图特性:插件、薄体扁桥工作结温:-55℃~150℃包装方式......
  • P7561 [JOISC 2021 Day2] 道路の建設案
    题意给定\(n\)个点,求平面上,曼哈顿距离最近的\(k\)点对。Sol仔细想想就会发现,曼哈顿距离不好做最近\(k\)点对。考虑转成切比雪夫距离。\(x'=x+y,y'=x-y\)。二分答案,每次\(check\)一个\(dis\),询问距离小于\(dis\)的点对是否有\(k\)个。\(check\)是平凡......
  • Databend 开源周报第 121 期
    Databend是一款现代云数仓。专为弹性和高效设计,为您的大规模分析需求保驾护航。自由且开源。即刻体验云服务:https://app.databend.cn。What'sOnInDatabend探索Databend本周新进展,遇到更贴近你心意的Databend。支持追加流Databend现在支持CREATESTREAM语法,为表......
  • [ABC321E] Complete Binary Tree
    思路:第一次先把往后距离为$k$的点算出来,然后再每次往前走一个,考虑$k-i$的情况。(具体见代码注释)。代码:```cpp#include<bits/stdc++.h>usingnamespacestd;//headintsum[100],head=0;intn,x,k;intans;voidf(intnow,intstep)//从点now开始,往上距离step的点的个数......
  • P9447 [ICPC2021 WF] Spider Walk 题解
    更好的阅读体验很有意思的一道题。设\(f_i\)表示第\(i\)根线的答案,首先有一个关键结论:任意两根相邻的线答案只差一定小于\(1\)。原因显然,可以在无限远的地方加一根线来构造。该结论可以扩展一下,对于距离为\(d\)的两根线,答案之差不会超过\(d\)。考虑进行倒着加线,考虑加......
  • Minitab 2021:让数据分析变得更简单,更直观 win版
    Minitab2021是一款广受欢迎的统计分析管理软件,它为用户提供了强大的数据处理和分析能力,适用于各种行业和领域。通过Minitab2021,用户可以轻松应对各种数据分析挑战,从基本的统计分析到复杂的数据挖掘,都能得到准确、可靠的结果。点击获取Minitab2021Minitab2021的界面简洁......
  • TS4210D系列多功能激光调阻机
    ·设备可实现对集成电路各项参数的精密修调,如:电阻、电压、电流、周期、频率等;·自主研发的多通道测量系统(最多96通道),精度高、速度快、稳定可靠;·适用于各种厚膜电路;·可匹配不同规格的探针板连接器,兼容各型号标准探针板;另可定制飞针式测量结构.以满足特殊的修调需求;·采用高......