首页 > 其他分享 >番外-软件设计(19)

番外-软件设计(19)

时间:2023-11-27 09:12:02浏览次数:30  
标签:Gumin test21 Observer 19 番外 public observers 软件设计 void

当股票的价格上涨或下降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,test21,Observer,19,番外,public,observers,软件设计,void
From: https://www.cnblogs.com/zjsdbk/p/17858420.html

相关文章

  • 番外-软件设计(18)
    旅游的出行方式有乘坐飞机旅行、乘火车旅行和自行车游,不同的旅游方式有不同的实现过程,客户可以根据自己的需要选择一种合适的旅行方式。实验要求:1. 提交源代码;packagetest23; publicclassAirplaneStrategyimplementsTravelStrategy{     publicvoidtravel()......
  • [极客大挑战 2019]Upload 1
    首先进入网址 发现是文件上传创建一个test.php文件,写入一句话木马<?phpeval($_POST['b'])?>,然后上传 提示不是图片抓个包,发现content-type不是图片类型 将其改成  image/png, 再重新放包,结果提示过滤了php 再尝试php3,pht也过滤 当尝试phtml,发现’<?'......
  • 软件设计6
    [实验任务一]:向量的原型用C++完成数学中向量的封装,其中,用指针和动态申请支持向量长度的改变,使用浅克隆和深克隆复制向量类,比较这两种克隆方式的异同。实验要求:1. 画出对应的类图;   2. 提交源代码(用C+  完成);#include"stdafx.h" usingnamespacestd;  ......
  • acwing 194涂满它总结
    先说下我最开始的思路我设计的估价函数是这么想的,因为估价函数必须优于实际情况嘛,我就考虑每走一步会改变什么,不难发现会把一些新的点加入连通块,我就让每一步中本来不该加入连通块(因为颜色不同)但是相连的点加入连通块,相当于每一步都加入了更多的块,肯定会比实际操作更优比如说这......
  • 2023-2024-1 20231419 《计算机基础与程序设计》第九周学习总结
    2023-2024-120231419《计算机基础与程序设计》第九周学习总结作业信息这个作业属于哪个课程https://edu.cnblogs.com/campus/besti/2023-2024-1-CFAP这个作业要求在哪里https://www.cnblogs.com/rocedu/p/9577842.html#WEEK09这个作业的目标自学《计算机科学概......
  • 面向对象软件设计中常见的问题 - 为什么要定义类的私有方法
    "为什么要定义私有方法?"这是一个在面向对象软件设计中常见的问题,涉及到封装性、安全性和设计灵活性等方面的考虑。首先,让我们来看看为什么要使用私有方法。封装性(Encapsulation):面向对象编程的一个基本原则是封装,即将对象的内部细节隐藏起来,只暴露必要的接口给外部。私有方法是......
  • 设计模式实验19:中介者模式
    实验19:中介者模式本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:1、理解中介者模式的动机,掌握该模式的结构;2、能够利用中介者模式解决实际问题。    [实验任务一]:虚拟聊天室在“虚拟聊天室”实例中增加一个新的具体聊天室类和一个新的具体会员类,要......
  • 19-基础SQL-约束
    约束的概念约束是作用于表中字段上的规则,用于限制存储在表中的数据约束的目的保证数据库中数据的正确、有效性和完整性  案例1:根据需求,完成以下表结构的创建 ......
  • SP9199题解
    考察了小学奥数知识,不会的请先去学习一下相遇与追及。思路两个人相遇的点一定是有周期性的,我们可以先算出一个周期会走多远,而这个距离是两人速度的最小公倍数。接着需分情况讨论。如果两人是同向,则为追及,需用距离除以一人的速度减去距离除以另一人的速度。需要取绝对值。......
  • [Codeforces] CF1719C Fighting Tournament
    题目传送门另:多测不清空,WA两行泪题意Burenka正准备去观看一年中最有趣的体育活动——她朋友Tonya组织的格斗锦标赛。有n名运动员参加了大赛,标号分别为为1,2,...,n。第i名运动员的实力是\(a_i(1\lea_i\len)\)。每个运动员的实力是不同的,也就是说,数组a是n的一种......