18 備忘錄模式

2021-08-03 07:45:34 字數 1567 閱讀 2508

package memento;

/* * :以前的小霸王遊戲是不是可以儲存遊戲進度?

* :是的

* :那是怎麼實現的呢?

* :應該是...

* :來 先簡單實現一下

* */

public class commonly

}class gamerole

/* * 獲得初始狀態

*/public void getinitstate()

/**戰鬥

*/public void fight()

public int getvit()

public void setvit(int vit)

public int getatk()

public void setatk(int atk)

public int getdef()

public void setdef(int def)

}

package memento;

/* * 備忘錄模式:

* 在不破壞封裝性的前提下,捕獲乙個物件的內部狀態

* 並在該物件之外儲存這個狀態 這樣以後就可以將該物件恢復到原有儲存的狀態

* *

* :

* 發起人

* 備忘錄

* 管理者

*/public class memento

}class role

/* * 恢復遊戲角色

*/public void rolestatememento(rolestate rolestate )

/* * 展示角色資訊

*/public void display()

/* * 獲得初始狀態

*/public void getinitstate()

/**戰鬥

*/public void fight()

public int getvit()

public void setvit(int vit)

public int getatk()

public void setatk(int atk)

public int getdef()

public void setdef(int def) }

/* * 角色狀態類(專門存角色的各種屬性)

*/class rolestate

//生命力

private int vit;

//攻擊力

private int atk;

//防禦力

private int def;

public int getvit()

public void setvit(int vit)

public int getatk()

public void setatk(int atk)

public int getdef()

public void setdef(int def)

}

18 備忘錄模式

在不破壞封裝的前提下,捕獲乙個物件的內部狀態,並在該物件之外儲存該狀態。這樣以後就可將該物件恢復到原先儲存的狀態 理解originator 原發器,使用備忘錄來儲存某個時刻原發器自身的狀態,也可以使用備忘錄來恢復內部狀態 memento 備忘錄,儲存原發器物件的內部狀態,原發器外部的物件不應該能訪問...

備忘錄模式

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

備忘錄模式

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