软件设计21

发布时间 2024-01-07 14:57:26作者: 那年晚风可期

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

当股票的价格上涨或下降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. 注意编程规范。