摘要:為幫助考生估分,希賽小編為大家整理了2022上半年軟件設(shè)計師下午真題(六),希望對大家估分會有幫助。
為方便廣大考生考后估分對答案,希賽網(wǎng)特向廣大學員和網(wǎng)友搜集整理了2022上半年軟件設(shè)計師下午真題(六),供大家參考。希賽網(wǎng)老師也將在考后進行真題答案解析,敬請廣大考生關(guān)注。
試題六(共15分)
閱讀下列說明和Java代碼,將應填入(n)處的字句寫在答題紙的對應欄內(nèi)。
【說明】
在軟件系統(tǒng)中,通常都會給用戶提供取消、不確定或者錯誤操作的選擇,允許將系統(tǒng)恢復到原先的狀態(tài)?,F(xiàn)使用備忘錄(Memento)模式實現(xiàn)該要求,得到如圖6-1所示的類圖。Memento包含了要被恢復的狀態(tài)。Originator創(chuàng)建并在Memento中存儲狀態(tài)。Caretaker負責從Memento中恢復狀態(tài)。
圖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()
相關(guān)推薦:2022上半年軟件設(shè)計師下午真題及答案解析
軟考備考資料免費領(lǐng)取
去領(lǐng)取