package u20;
public class Caretaker {
private Memento memento;
public Memento getMemento()
{
return memento;
}
public void setMemento(Memento memento)
{
this.memento=memento;
}
}
package u20;
public class Client {
public static void main(String[] args) {
Originator originator=new Originator();
Caretaker caretaker=new Caretaker();
originator.setUname("贾亚赛");
originator.setPassword("789987");
originator.setSex("女");
caretaker.setMemento(originator.createMemento());
System.out.println("用户信息:");
System.out.println(originator);
originator.setUname("张三");
originator.setPassword("159752");
originator.setSex("男");
System.out.println("\n------------------------------------------------\n");
System.out.println("修改后的用户信息”");
System.out.println(originator);
System.out.println("\n------------------------------------------------\n");
System.out.println("回复操作之前的状态:");
originator.restoreMemento(caretaker.getMemento());
System.out.println(originator);
}
}
package u20;
public class Memento {
private String uname;
private String password;
private String sex;
public Memento(String uname, String password, String sex) {
this.uname = uname;
this.password = password;
this.sex = sex;
}
public String getUname() {
return uname;
}
public void setUname(String uname) {
this.uname = uname;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}
package u20;
public class Originator {
private String uname;
private String password;
private String sex;
public Memento createMemento(){
return new Memento(uname,password,sex);
}
public void restoreMemento(Memento m){
this.uname=m.getUname();
this.password=m.getPassword();
this.sex=m.getSex();
}
public String getUname() {
return uname;
}
public void setUname(String uname) {
this.uname = uname;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
@Override
public String toString() {
return "Originator{" +
"uname='" + uname + '\'' +
", password='" + password + '\'' +
", sex='" + sex + '\'' +
'}';
}
}