实验二十二
[实验任务一]:股票提醒
当股票的价格上涨或下降5%时,会通知持有该股票的股民,当股民听到价格上涨的消息时会买股票,当价格下降时会大哭一场。
实验要求:
1. 提交源代码;
2. 提交类图;
3. 注意编程规范。
Client.java
public class Client {
public static void main(String args[]) {
Investor subject = new Investor("郭永辉");
Stoke stokee = new Stoke();
stokee.stockUp();
subject.up();
System.out.println("");
stokee.stockDown();
subject.down();
System.out.println("");
}
}
Investor.java
public class Investor implements MyObserver{
private String name;
public Investor(String name){
this.name=name;
}
@Override
public void up() {
System.out.println("股民"+name+"买股票");
}
@Override
public void down() {
System.out.println("股民"+name+"大哭一场");
}
}
MyObserver.java
public interface MyObserver {
public void up();
public void down();
}
Stoke.java
public class Stoke extends Subject{
@Override
public void stockUp() {
System.out.println("股票上涨5%");
for(Object observer:observers){
MyObserver ob = (MyObserver) observer;
ob.up();
}
}
@Override
public void stockDown() {
System.out.println("股票下降5%");
for(Object observer:observers){
MyObserver ob = (MyObserver) observer;
ob.down();
}
}
}
Subject.java
import java.util.ArrayList;
public abstract class Subject {
protected ArrayList observers=new ArrayList();
public void attach(MyObserver observer){
observers.add(observer);
}
public void detach(MyObserver observer){
observers.remove(observer);
}
public abstract void stockUp();
public abstract void stockDown();
}



浙公网安备 33010602011771号