专业软件设计师网站|培训机构|服务商(加客服微信:cnitpm或QQ:947530340进软件设计师学霸群)

软题库 培训课程
当前位置:信管网 >> 软件设计师 >> 试题库 >> 文章内容
在软件系统中,通常都会给用户提供取消、不确定或者错误操作的选择,允许将系统恢复到原先的状态
来源:信管网 2022年05月30日 【所有评论 分享到微信

2022年上半年软件设计师下午案例分析真题:

试题六:阅读下列说明和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()

【参考答案】暂无

相关阅读:2022年上半年软件设计师真题答案答案解析(综合、案例)

历年软件设计师真题在线答题及PDF下载

扫码关注公众号

温馨提示:因考试政策、内容不断变化与调整,信管网网站提供的以上信息仅供参考,如有异议,请以权威部门公布的内容为准!

信管网致力于为广大信管从业人员、爱好者、大学生提供专业、高质量的课程和服务,解决其考试证书、技能提升和就业的需求。

信管网软考课程由信管网依托10年专业软考教研倾力打造,官方教材参编作者和资深讲师坐镇,通过深研历年考试出题规律与考试大纲,深挖核心知识与高频考点,为学员考试保驾护航。面授、直播&录播,多种班型灵活学习,满足不同学员考证需求,降低课程学习难度,使学习效果事半功倍。

相关内容

发表评论  查看完整评论  

推荐文章