【软考达人-回忆版】
试题六
试题六(共 15分)
阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
在软件系统中,通常都会给用户提供取消、不确定或者错误操作的选择,允许将系统恢复到原先的状态。现使用备忘录(Memento)模式实现该要求,得到如图6-1所示的类图。Memento 包含了要被恢复的状态。Originator创建并在 Memento 中存储状态。Caretaker 负责从 Memento 中恢复状态。
图6-1 类图
图6-1 类图
【Java 代码】
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 ( )
}
public void getStateFromMemento(Memento Memento){
state = ( )
}
class CareTaker
private Lim<MemeiesLim
Public ( )
mementoLstadd如aney
}
public ( ) {
return memensoLint get (imdat
}
}
class MementoPaneDems {
pubic static voiid main(Stringf]
Ohgiator aniginutor-te Origmrfy
CareThker careTukez-nwCmiie)
aniginuntorseStte(State1#)
orginxtorsCSuat(State2#);
careThiket add_( )
oiginatoseSated"(State 3")
careTaker add( )_
originutor_setState(State#4)