打字猴:1.700471273e+09
1700471273 }
1700471274
1700471275 该类大家在项目中会经常用到,可以作为参考使用。类似的功能有很多工具已经提供,比如Spring、Apache工具集commons等,大家也可以直接使用。我们再来看备忘录角色,如代码清单24-18所示。
1700471276
1700471277 代码清单24-18 备忘录角色
1700471278
1700471279 public class Memento{
1700471280
1700471281 //接受HashMap作为状态
1700471282
1700471283 private HashMap<String,Object>stateMap;
1700471284
1700471285 //接受一个对象,建立一个备份
1700471286
1700471287 public Memento(HashMap<String,Object>map){
1700471288
1700471289 this.stateMap=map;
1700471290
1700471291 }
1700471292
1700471293 public HashMap<String,Object>getStateMap(){
1700471294
1700471295 return stateMap;
1700471296
1700471297 }
1700471298
1700471299 public void setStateMap(HashMap<String,Object>stateMap){
1700471300
1700471301 this.stateMap=stateMap;
1700471302
1700471303 }
1700471304
1700471305 }
1700471306
1700471307 我们再编写一个场景类,看看我们的成果是否正确,如代码清单24-19所示。
1700471308
1700471309 代码清单24-19 场景类
1700471310
1700471311 public class Client{
1700471312
1700471313 public static void main(String[]args){
1700471314
1700471315 //定义出发起人
1700471316
1700471317 Originator ori=new Originator();
1700471318
1700471319 //定义出备忘录管理员
1700471320
1700471321 Caretaker caretaker=new Caretaker();
1700471322
[ 上一页 ]  [ :1.700471273e+09 ]  [ 下一页 ]