微信小程序码
微信小程序
练习更方便
案例
真题 2022年上半年
试题六(15分)
阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
在软件系统中,通常都会给用户提供取消、不确定或者错误操作的选择,允许将系统恢复到原先的状态。现使用备忘录(Memento)模式实现该要求,得到如图6-1所示的类图。Memento包含了要被恢复的状态。Originator创建并在Memento中存储状态。Caretaker负责从Memento中恢复状态。

【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 (1)
}
public void getStateFromMemento(Memento Memento){
state =(2)
}
class CareTaker{
private List mementoList= new ArrayList(); Public(3){
mementoLst.add(state);
}
public (4){
return memensoLint.get(index);
}
}
class MementoPaneDems{
pubic static voiid main(String[] args){
Originator originator = new Originator();
CareTaker careTaker=new careTaker();
originator.setState("State #1");
originator.setState("State #2");
careTaker.add((5))
originator.setState("State #3")
careTaker.add((6))
originator.setState("State #4")
System.out.println("Current State" + originator.getState());
originator.getStateFromMemento(careTaker.get(0));
System.out.println("Frist saved State" + originator.getState());
originator.getStateFromMemento(careTaker.get(1));
System.out.println("Second saved State" + originator.getState());
}
}

【问题1】(15分)
(1):
(2):
(3):
(4):
(5):
(6):
查看更多题目