2022上半年软件设计师下午真题(六)
为帮助考生估分,希赛小编为大家整理了2022上半年软件设计师下午真题(六),希望对大家估分会有帮助。
为方便广大考生考后估分对答案,希赛网特向广大学员和网友搜集整理了2022上半年软件设计师下午真题(六),供大家参考。希赛网老师也将在考后进行真题答案解析,敬请广大考生关注。
试题六(共15分)
阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
在软件系统中,通常都会给用户提供取消、不确定或者错误操作的选择,允许将系统恢复到原先的状态。现使用备忘录(Memento)模式实现该要求,得到如图6-1所示的类图。Memento包含了要被恢复的状态。Originator创建并在Memento中存储状态。Caretaker负责从Memento中恢复状态。

图6-1类图
【Uava代码】
import java.util.*;
class Memento {
private String state;
public Memento(String state){this.state=state;}
public String getState(){return state;}
}
class Originator{
private String state;
public void setState(String state){this.state=state;}
public String getState(){ retum state;}
public Memento saveStateToMemento(){
Return (1)
}
public void getStateFromMemento(Memento Memento){
state =(2)
}
class CareTaker
Public(3)
mementoLstadd如aney
}
public (4)
return memensoLint get (imdat
}
}

class MementoPaneDems{
pubic static voiid main(Stringf]
Ohgiator aniginutor-te Origmrfy
CareThker careTukeznwCmiie)
aniginuntorseStte(State1#)
orginxtorsCSuat(State2#);
careThiket add_(5)
oiginatoseSated"(State 3")
careTaker add (6)_
originutor_setState(State#4)

(1) new Memento(state)
(2) Memento.getState()
(3) void add(Memento state)
(4) Memento get(int index)
(5) care Taker.add(originator.saveState ToMemento()
(6) care Taker.add(originator.saveState ToMemento()
| 软考各科备考资源 | ||
| 资源名称 | 获取方式 | 资源链接 |
| 2026下半年软考各科考试真题汇总 | 免费下载 | 点击获取 |
| 2026年5月高项各科真题汇总 | 免费刷题 | 点击获取 |
| 2026年10月第二批集成基础知识真题 | 免费下载 | 点击获取 |
| 2026年下半年 软件设计师基础知识真题 | 免费下载 | 点击获取 |
| 2026上半年软考各科真题答案汇总 | 免费下载 | 点击获取 |
| 【历年真题】软考各科历年真题答案解析汇总 | 免费刷题 | 点击刷题 |
| 更多软考备考资料请点此查看 | ||