public class Orginal{
private String value;
public Orginal(String value ){
this.name = name;
}
public void setValue(String value){
this.value = value;
}
public String getValue(){
return value;
}
public Mentto createMentto(){
return new Mentto(value);
}
public void restoreMentto(Mentto mentto){
this.value = mentto.getValue();
}
}
public class Storage{
private Mentto mentto;
public Storage(Mentto mentto){
this.mentto = mentto;
}
public void setMentto(Mentto mentto){
this.mentto = mentto;
}
public Mentto getMentto(){
return mentto;
}
}
public class Mentto{
private String value;
public Mentto(String value){
this.value = value;
}
public void setValue(String value){
this.value = value;
}
public String getValue(){
return value;
}
}
public class Test {
public static void main(String[] args) {
Original origi = new Original("egg");
Storage storage = new Storage(origi.createMemento());
System.out.println("初始化状态为:" + origi.getValue());
origi.setValue("niu");
System.out.println("修改后的状态为:" + origi.getValue());
origi.restoreMemento(storage.getMemento());
System.out.println("恢复后的状态为:" + origi.getValue());
}
}