打字猴:1.700470877e+09
1700470877 从类图上看,发起人角色融合了发起人角色和备忘录角色,具有双重功效,如代码清单24-12所示。
1700470878
1700470879 代码清单24-12 融合备忘录的发起人角色
1700470880
1700470881 public class Originator implements Cloneable{
1700470882
1700470883 //内部状态
1700470884
1700470885 private String state=””;
1700470886
1700470887 public String getState(){
1700470888
1700470889 return state;
1700470890
1700470891 }
1700470892
1700470893 public void setState(String state){
1700470894
1700470895 this.state=state;
1700470896
1700470897 }
1700470898
1700470899 //创建一个备忘录
1700470900
1700470901 public Originator createMemento(){
1700470902
1700470903 return this.clone();
1700470904
1700470905 }
1700470906
1700470907 //恢复一个备忘录
1700470908
1700470909 public void restoreMemento(Originator_originator){
1700470910
1700470911 this.setState(_originator.getState());
1700470912
1700470913 }
1700470914
1700470915 //克隆当前对象
1700470916
1700470917 @Override
1700470918
1700470919 protected Originator clone(){
1700470920
1700470921 try{
1700470922
1700470923 return(Originator)super.clone();
1700470924
1700470925 }catch(CloneNotSupportedException e){
1700470926
[ 上一页 ]  [ :1.700470877e+09 ]  [ 下一页 ]