備忘錄模式

2021-07-30 23:54:23 字數 1146 閱讀 3575

備忘錄模式

需要注意的是當需要儲存的物件過多或者內容過大是,使用備忘錄模式就可以產生效能上的問題。優點在於,我們可以將乙個物件的狀態儲存在物件的外部,當需要使用的時候再重新提取即可。

**如下

public class test

public static void main(string args)

person a=new person();

a.name="mike";

a.age="18";

note n=new note();

a.setnote(n);

a.show();

a.name="jom";

a.show();

a.back(n);

a.show();

class note

private string name;

private string age;

public string getname()

return name;

public void setname(string name)

this.name=name;

public void setage(string age)

this.age=age;

public string getage()

return age;

class person

public string name;

public string age;

public void setnote(note n)

n.setage(age);

n.setname(name);

public void back(note n)

this.name=n.getname();

this.age=n.getage();

public void show()

system.out.println(name+"-"+age);

結果如圖

聯絡我:[email protected]

2016-8-17

20:00

備忘錄模式

備忘錄模式 memento 在不破壞封裝性的前提下,捕獲乙個物件的內部狀態,並在該物件之外儲存這個狀態。這樣以後就可將該物件恢復到原先儲存的狀態。originator 發起人 負責建立乙個備忘錄memento,用以記錄當前時刻它的內部狀態,並可以使用備忘錄恢復內部狀態。originator可根據需要...

備忘錄模式

先從物件導向的三大特徵之一封裝說起。物件導向的封裝簡單點說就是把狀態 資料 和行為 操作這些資料的方法 放到一起,構成乙個單元,通常叫做類。乙個物件的行為是事先確定好的 靜態 一些指令碼,如果物件的狀態相同,物件看起來就是一樣的。所以當我們需要把乙個物件的某一時刻儲存起來,那麼只需要儲存它在那個時刻...

備忘錄模式

面臨問題 物件狀態的變化無端,如何回溯恢復物件在某個點的狀態?在軟體構建過程中,某些物件的狀態在轉換過程中,可能由於某種需要,要求程式能夠回溯到物件之前處於某個點時的狀態。如果使用一些公用介面來讓其他物件得到物件的狀態,便會暴露物件的細節實現。如何實現物件狀態的良好儲存與恢復?但同時又不會因此而破壞...