软考真题
第5题
阅读下列说明和Java代码,将应填入(n) 处的字句写在答题纸的对应栏内。

【说明】

某文件管理系统中定义了类OfficeDoe和DocExplorer。当类OfficeDoe发生变化时,类DocExplorer的所有对象都要更新其自身的状态。现采用观察者(Observer) 设计模式来实现该需求,所设计的类图如图6-1所示。



问题:5.1
【Java代码】

import java.util.*interface Observer {
	public(1);
}
interface Subject {
	public void Attach(Observer obs);
	public void Detach(Observer obs);
	public void Notify();
	public void setStatus(int staus);
	public int getStatus();
}
class OfficeDoc implements Subject {
	private List < (2) > myObs;
	private String mySubjectName;
	private int m_status;
	public OfficeDoc(String name) {
		mySubjectName = name;
		this.myObs = new Arraylist();
		m_status = 0;
	}
	public void Attach(Observer obs); {
		this.myObs.add(obs);
	}
	public void Detach(Observer obs); {
		this.myObs.remove(obs);
	}
	public void Notify();
        for(Observer obs; this.myObs) {
            (3);
        }
    }
    public void setStatus(int status;) {
        m_status = status;
        System out.println("SetStatus Subject[" + mySubjectName + "]status:" + status);
    }
    public int getStatus() {
        return(m_status);
    }
}
class DocExplorer implements Observer {
	private String myObsName;
	public DocExplorer(String name, (4) sub) {
		myObsName = name;
		sub(5);
	}
	public void update() {
		System.out.println("update observer[" + myObsName + "]");
	}]
class ObserverTest {
	public static void main(String[] args) {
		System.out.println("Hello World!");
		Observer observerA = new DocExplorer("observerA", subjectA);
		subjectA.serStatus(1);
		subjectA.Notify();
	}
}

2019��������� ��������������������������� ������������������������������������ ������������������
正确答案:
你的答案:
请先在app激活
知识点:
类图
试卷:
2019年 下半年 下午试卷 案例

笔记

请先在app激活

2020-11-03


。。。。

请先在app激活

2020-10-30


徐晓晗

请先在app激活

2021-11-03


siqi

请先在app激活

2020-10-08


啊涌

请先在app激活

2020-09-27


巧克力金鱼

请先在app激活

2022-04-30


巧克力金鱼

请先在app激活

2022-04-30


答题卡
加油
纠错
得分:0