摘要:為幫助考生估分,希賽小編為大家整理了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()
熱點推薦:2022上半年軟件設計師真題及答案解析
軟考備考資料免費領取
去領取
專注在線職業教育25年