软件设计师2021 软件设计师2021年试题
软件设计师下午考试科目为案例分析,考试题型为主观题,4道必答题,2道(5、6题)选答题,考试时长2个半小时,共75分。为帮助广大软考中级软件设计师考生更好备考,特整理汇总了软件设计师部分试题、答案及解析供考生查阅,并提供免费在线模拟答题、历年试题免费下载等服务,了解软件设计师更多备考信息请关注。 阅读以下说明和java代码,将应填入 (n) 处。 [说明] 在一公文处理系统中,开发
软件设计师下午考试科目为案例分析,考试题型为主观题,4道必答题,2道(5、6题)选答题,考试时长2个半小时,共75分。为帮助广大软考中级软件设计师考生更好备考,特整理汇总了软件设计师部分试题、答案及解析供考生查阅,并提供免费在线模拟答题、历年试题免费下载等服务,了解软件设计师更多备考信息请关注。
阅读以下说明和java代码,将应填入 (n) 处。
[说明]
在一公文处理系统中,开发者定义了一个公文类officedoc,其中定义了公文具有的属性和处理公文的相应方法。当公文的内容或状态发生变化时,关注此officedoc类对象的相应的docexplorer对象都要更新其自身的状态。一个officedoc对象能够关联一组 docexplorer对象。当officedoc对象的内容或状态发生变化时,所有与之相关联的 docexplorer对象都将得到通知,这种应用被称为观察者模式。以下代码采用java语言实现,能够正确编译通过。
[java代码]
//subject.java 文件
public interface subject {
public void attach(observer docexplorer);
public void detach(observer docexplorer);
void notifyobservers();
}
//observer.java 文件
public interface observer{
void update( (1) );
}
//officedoc.java 文件
import java.util.*;
public class officedoc implements subject(//officedoc 类实现 subject 接口
private vector observerveetor=new java.util.vector();
//存储与officedoc相关联的docexplorer 对象
public void attach(observer observer){
//将某 docexplorer 对象与officedoc 相关联
observervector.addelement(observer);
}
public void detach(observer observer){
//解除某docexplorer 对象与officedoc的关联关系
observervector.removeelement(observer);
}
public void notifyobservers(){
//当officedoc对象状态已发生变化时,通知所有的docexplorer对象
enumeration enumeration= (2) ;
while (enumeration.hasmoreelements()){
((observer)enumeration.nextelement()). (3) ;
}
}
public enumeration observers(){
return observervector.elements();
}
//其他公文类的属性和方法省略
}
//doeexplorer.java 文件
public class docexplorer implements (4) {
public void update( (5) ){
//更新docexplorer自身的状态,代码省略
}
}
参考答案:
(1) Subject subject(注:第二个subject可用其他标识符替换)
(2) Observers()
(3) update(this)
(4) Observer
(5) Subject subject(注:第二个subject可用其他标识符替换)
软考资料: 2024年软考论文范文> 软考考试核心重点难点汇总> 查看更多>
备考刷题:章节练习+每日一练> 软考历年试题+模拟题>查看更多>