大话设计模式 备忘录模式
2013-05-02 16:02
316 查看
游戏保存
package org.ustc.memo;
public class GameRole {
private int vatality;
private int defence;
private int offence;
public GameRole() {
vatality = 100;
defence = 100;
offence = 100;
}
public void fight(){
vatality = 0;
defence = 0;
offence = 0 ;
}
public void display(){
System.out.println("vatality:"+vatality+"defence"+defence+"offence"+offence);
}
public void recoveryFromMemo(Memo memo){
this.defence = memo.getDefence();
this.offence = memo.getOffence();
this.vatality = memo.getVatality();
}
public Memo saveToMemo(){
return new Memo(this.vatality,this.offence,this.defence);
}
}
代码结构图:
package org.ustc.memo;
public class GameRole {
private int vatality;
private int defence;
private int offence;
public GameRole() {
vatality = 100;
defence = 100;
offence = 100;
}
public void fight(){
vatality = 0;
defence = 0;
offence = 0 ;
}
public void display(){
System.out.println("vatality:"+vatality+"defence"+defence+"offence"+offence);
}
public void recoveryFromMemo(Memo memo){
this.defence = memo.getDefence();
this.offence = memo.getOffence();
this.vatality = memo.getVatality();
}
public Memo saveToMemo(){
return new Memo(this.vatality,this.offence,this.defence);
}
}
package org.ustc.memo; public class Memo { private int vatality; private int offence; private int defence; public int getVatality() { return vatality; } public void setVatality(int vatality) { this.vatality = vatality; } public int getOffence() { return offence; } public void setOffence(int offence) { this.offence = offence; } public int getDefence() { return defence; } public void setDefence(int defence) { this.defence = defence; } public Memo(int vatality, int offence, int defence) { super(); this.vatality = vatality; this.offence = offence; this.defence = defence; } }
package org.ustc.memo; public class RoleStateTaker { private Memo memo; public Memo getMemo() { return memo; } public void setMemo(Memo memo) { this.memo = memo; } }
package org.ustc.memo; public class Main { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub GameRole role = new GameRole(); role.display(); RoleStateTaker roleState = new RoleStateTaker(); roleState.setMemo(role.saveToMemo()); role.fight(); role.display(); role.recoveryFromMemo(roleState.getMemo()); role.display(); } }
代码结构图:
相关文章推荐
- 大话设计模式-----(七)备忘录模式、组合模式
- 《大话设计模式》java实现之备忘录模式
- 《大话设计模式》——学习笔记之"行为型模式"(观察者&模板方法&命令&状态&职责链&解释器&中介者&访问者&策略&备忘录&迭代器)
- 大话设计模式—备忘录模式
- 大话设计模式-备忘录模式
- 大话设计模式C++实现-第18章-备忘录模式
- 《大话设计模式》—— 读后感(18)如果再回到从前——备忘录模式
- 大话设计模式18----备忘录模式
- 大话设计模式-第18章 如果再回到从前----备忘录模式
- 2009-05-14读书记录:《大话设计模式》第十八章——备忘录模式
- 大话设计模式-备忘录模式学习总结
- 大话设计模式-备忘录模式
- 笔记-大话设计模式-18 备忘录模式
- 大话设计模式笔记 备忘录模式
- 大话设计模式java版--备忘录模式-游戏保存进度例子
- 十二、行为型模式之中介者、访问者、备忘录-----《大话设计模式》
- 备忘录模式 -- 大话设计模式
- <九>读<<大话设计模式>>之建造者模式
- 设计模式原则总结--读《大话设计模式》有感