package com.wangbiao.design.memento;/** * * @Title: gamerole.java * @ package com.wangbiao.design.memento * @Description: todo * @author wangbiao * @date 2014-9-22 Morning 11:52:44 * @version V1.0 */public class gamerole { private string name; private int attacknum; private int bloodnum; public gamerole () { // TODO Auto-generated constructor stub } public gamerole (String name,int attacknum,int bloodnum) { this.name = name; this.attacknum = attacknum; this.bloodNum = bloodNum; } public string getname () { return name ; } public void setname (String name) { this.name = name; } public int getattacknum () { return attacknum; } public void setattacknum (int Attacknum) { this.attackNum = attackNum; } public int getbloodnum () { retUrn bloodnum; } public void setbloodnum (int Bloodnum) { this.bloodNum = bloodNum; } public gamerole initrole () { return new gamerole ("Enchanter", 100, 100); } //save data into Memento public memento saveroleinfo () { return new memento (This.attacknum,this.bloodnum); } //get the old role info public boolean Getbeforeroleinfo (Memento memento) { if (Memento != null) { this.attacknum = memento.getattacknum (); this.bloodNum = Memento.getbloodnum (); return true ; } Return false; } public void fightwithboss () { system.out.println ("Figth with boss "); this.attacknum = this.attacknum/5; this.bloodnum = this.bloodnum/5; } public void displayroleinfo () { SYSTEM.OUT.PRINTLN ("Attack index:" +this.attacknum + " ----" + "Blood Index:" +this.bloodnum "); }}package com.wangbiao.design.memento;/** * * @Title: memento.java * @Package com.wangbiao.design.memento * @Description: todo * @ author wangbiao * @date 2014-9-22 pm 12:11:12 * @ version v1.0 */public class memento { private int attacknum; private int bloodnum; public memento () { // todo auto-generated constructor stub } public memento (Int attacknum,int bloodnum) { this.attacknum = attacknum; this.bloodnum = bloodNum; } public int Getattacknum () { return attackNum; } public void setattacknum (Int attacknum) { this.attackNum = attackNum; } public int getbloodnum () { return Bloodnum; } public void setbloodnum (Int bloodNum) { this.bloodnum = bloodnum; } }package com.wangbiao.design.memento;/** * * @Title: RoleCaretaker.java * @Package com.wangbiao.design.memento * @Description: todo * @author wangbiao * @date 2014-9-22 pm 12 :11:18 * @version V1.0 */public class RoleCaretaker { private memento memento; public memento getmemento () { return memento; } public void setmemento (Memento memento) { this.memento = memento; } &nBSP;} /** * @Title: client.java * @Package com.wangbiao.design.memento * @ description: todo * @author wangbiao * @date 2014-9-22 pm 12:11:03 * @version v1.0 */package com.wangbiao.design.memento ;/** * @Title: client.java * @Package com.wangbiao.design.memento * @ description: todo * @author wangbiao * @date 2014-9-22 pm 12:11:03 * @version v1.0 */public class client { /** * @param args */ public static void main (String[] args) { // TODO Auto-generated method stub &nbSp; gamerole gamerole = new gamerole (); gamerole = gamerole.initrole (); gamerole.displayroleinfo (); // store gamerole info to rolecaretaker RoleCaretaker caretaker = new Rolecaretaker (); caretaker.setmemento (GameRole.saveRoleInfo ()); //fight With boss gamerole.fightwithboss (); gamerole.displayroleinfo (); // get the old role info Gamerole.getbeforeroleinfo (Caretaker.getmemento ()); Gamerole.displayroleinfo (); // result /* attack index:100 ----Blood index:100 figth with boss attack index:20 ----Blood index:20 attack index:100 ----Blood index: 100 * / }}
Java Design Mode _ Memo Mode