2024/11/29
软件设计实验二十一
[实验任务一]:股票提醒 当股票的价格上涨或下降5%时,会通知持有该股票的股民,当股民听到价格上涨的消息时会买股票,当价格下降时会大哭一场。 实验要求: 1. 画出对应类图; 2. 提交源代码; public interface Observer { public void rise(); public void fell(); } public class Sucker implements Observer{ private String name; public Sucker(String n) { // TODO Auto-generated constructor stub name=n; } @Override public void rise() { // TODO Auto-generated method stub System.out.println(name+"买了一些股票(股票升了)"); } @Override public void fell() { // TODO Auto-generated method stub System.out.println(name+"股票跌了,哭了"); } } public abstract class Subject { protected ArrayList<Observer> olist=new ArrayList<>(); public Subject() { // TODO Auto-generated constructor stub } public void add(Observer o) { olist.add(o); } public void remove(Observer o) { olist.remove(o); } public abstract void up(double a); public abstract void down(double a); } public class Stock extends Subject{ @Override public void up(double a) { if(a>0.05) for(Observer gum : olist){ gum.rise(); } } @Override public void down(double a) { if(a>0.05) for(Observer gum:olist){ gum.fell(); } } }