首页 > 其他分享 >软件设计21

软件设计21

时间:2024-01-07 15:00:15浏览次数:31  
标签:Gumin 21 Observer 软件设计 void observers public test21

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

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

实验要求:

1. 提交源代码;

package test21;

 

import java.util.ArrayList;

public class Gufen extends Subject{

    public void up(){

        System.out.println("****股份上涨15%****");

        for(Observer guan:observers){

            guan.buy();

        }

    }

    public void down(){

        System.out.println("****股份下跌15%****");

        for(Observer guan:observers){

            guan.cry();

        }

    }

}

package test21;

 

public class Gumin implements Observer{

    private String name;

    public Gumin(String a){name=a;}

    public void buy(){

        System.out.println("股民"+name+"买了一些股票");

    }

    public void cry(){

        System.out.println("股民"+name+"哭了");

    }

}

package test21;

 

public class main {

    public static void main(String[] args) {

        Gufen f=new Gufen();

        Gumin g1=new Gumin("小张");

        Gumin g2=new Gumin("小龚");

        f.attach(g1);

        f.attach(g2);

        f.up();

        f.down();

    }

}

package test21;

 

 

 

public interface Observer {

      public void buy();

      public void cry();

  }

package test21;

 

import java.util.ArrayList;

 

public abstract class Subject {

    protected ArrayList<Observer> observers;

    public Subject(){

        observers=new ArrayList<>();

    }

    public void attach(Observer a){

        observers.add(a);

    }

    public void detach(Observer a){

        observers.remove(a);

    }

    public abstract void up();

    public abstract void down();

}

2. 提交类图;

 

 

3. 注意编程规范。

标签:Gumin,21,Observer,软件设计,void,observers,public,test21
From: https://www.cnblogs.com/renliqin/p/17950564

相关文章

  • AT_zone2021 部分
    前言教练出了个集训赛,就是AT_zone2021vp,赛时没切E,赛后也不想做E,所以不写。ZONe_a用substr拆出来,然后检查是不是ZONe。Code#include<bits/stdc++.h>usingnamespacestd;intmain(){ strings; cin>>s; intans=0; for(inti=0;i<s.size()-4;i++)if(s.substr(......
  • P4021 [CTSC2012] 最短路
    [CTSC2012]最短路LuoguP4021题目描述给定一个节点\(1\)和节点\(n\)连通的正权无向图\(G\),请你删除不超过\(k\)条边,使得节点\(1\)和节点\(n\)仍然连通的同时,且这两点之间的最短路尽可能长。提交答案题。Solution模拟赛考到这道,改完这道题我爆了。提交答案题一......
  • KubeSphere 社区双周报 | 2023.12.21-2024.01.04
    KubeSphere社区双周报主要整理展示新增的贡献者名单和证书、新增的讲师证书以及两周内提交过commit的贡献者,并对近期重要的PR进行解析,同时还包含了线上/线下活动和布道推广等一系列社区动态。本次双周报涵盖时间为:2023.12.21-2024.01.04。贡献者名单新晋KubeSpherecon......
  • macOS Monterey 12.4 (21F79) 正式版 ISO、IPSW、PKG 下载
    本站下载的macOSMonterey软件包,既可以拖拽到Applications(应用程序)下直接安装,也可以制作启动U盘安装,或者在虚拟机中启动安装。通用控制不再是Beta(测试版)!macOSMonterey12.4包括针对Apple博客的增强功能和错误修复:Apple博客包含一项全新设置,可限制存储在Mac上的单集数......
  • 软件设计模式与体系结构之运算器的设计
    实验目的与要求 深刻理解面向对象编程思想与设计原则,熟悉Java语言中类的声明、属性的声明、方法的定义、对象的创建与使用等语法知识,能够根据具体问题完成对象的抽象、类的定义及程序的编写,并在程序中使用适当的设计原则,初步体验面向对象编程的优点。实验内容 使用Java语言编写一......
  • 软件设计模式与体系结构之简单工厂模式和工厂方法模式
    一、实验目的掌握简单工厂模式和工厂方法模式的概念,能够灵活使用简单工厂模式和工厂方法模式解决相关问题。二、实验内容场景描述一:在某OA系统中,系统根据对比用户在登录时输入的账号和密码以及在数据库中存储的账号和密码是否一致来进行身份验证,如果验证通过,则取出存储在数据......
  • 软件设计模式与体系结构之抽象工厂模式与建造者模式
    实验三:抽象工厂模式与建造者模式一、实验目的掌握抽象工厂模式和建造者模式的概念,能够灵活使用抽象工厂模式和建造者模式解决相关问题。二、实验内容场景描述一:某手机游戏软件公司欲推出一款新的游戏软件,该软件能够支持Symbian和Android等多个主流的手机操作系统平台,针对不同......
  • CentOS 8.5 (2111) 发布 -- 最后一代 CentOS
    作者主页:sysin.org没想到Redhat还继续发布了CentOS8.5,并提醒您不应该在生产中使用CentOSLinux8。生命周期仍然是年底结束(End-of-life31December2021)。对于CentOS8.5看看就好,请速迁移到AlmaLinux或者RockyLinux。我们很高兴地宣布最新的CentOSLinux8版本。立即......
  • Windows 10 on ARM, version 21H2 (released Nov 2021) ARM64 简体中文版、英文版(企业
    作者主页:sysin.orgWindows10,version21H2(releasedNov2021)ARM64ChineseSimplifiedWindows10,version21H2(releasedNov2021)ARM64English基于ARM的Windows10起初,Windows10(与Windows10移动版不同)只能在采用x86和x64处理器的电脑上运行。现在,Windows10......
  • Office 2021 简体中文 正式版 零售版 32位和64位 官方镜像下载合集
    Office2021零售版1、OfficeProfessionalPlus2021,专业增强版:ProPlus2021Retail.img(Previouslyonlyavailableinvlversion,detailsareunknown)2、OfficeProfessional2021,专业版:Professional2021Retail.img(PlusAccessandPublisher(forPConly))3、OfficeHome&B......