Java备忘录模式(Memento)

/**

  • 负责人类

  • 负责管理备忘录对象

  • @author 波波烤鸭

  • @email dengpbs@163.com

*/

public class CareTaker {

private EmpMemento memento;

//备忘点较多时,将备忘录压栈,将多个备忘录对象,序列化和持久化 实现撤回多步的操作

// private Stack stack = new Stack();

// private List list = new ArrayList();

public EmpMemento getMemento() {

return memento;

}

public void setMemento(EmpMemento memento) {

this.memento = memento;

}

}

源发起类

/**

  • 源发器类

  • @author 波波烤鸭

  • @email dengpbs@163.com

*/

public class Emp {

private String ename;

private int age;

private double salary;

//进行备忘操作,并返回备忘录对象

public EmpMemento memento(){

return new EmpMemento(this);

}

//进行数据恢复,恢复成制定备忘录对象的值

public void recovery(EmpMemento mmt){

this.ename = mmt.getEname();

this.age = mmt.getAge();

this.salary = mmt.getSalary();

}

public Emp(String ename, int age, double salary) {

super();

this.ename = ename;

this.age = age;

this.salary = salary;

}

public String getEname() {

return ename;

}

public void setEname(String ename) {

this.ename = ename;

}

public int getAge() {

return age;

}

public void setAge(int age) {

this.age = age;

}

public double getSalary() {

return salary;

}

public void setSalary(double salary) {

this.salary = salary;

}

}

备忘录类

/**

  • 备忘录类

  • @author 波波烤鸭

  • @email dengpbs@163.com

*/

public class EmpMemento {

private String ename;

private int age;

private double salary;

public EmpMemento(Emp e) {

this.ename = e.getEname();

this.age = e.getAge();

this.salary = e.getSalary();

}

public String getEname() {

return ename;

}

public void setEname(String ename) {

this.ename = ename;

}

public int getAge() {

return age;

}

public void setAge(int age) {

this.age = age;

}

public double getSalary() {

return salary;

}

public void setSalary(double salary) {

this.salary = salary;

最后

码字不易,觉得有帮助的可以帮忙点个赞,让更多有需要的人看到

又是一年求职季,在这里,我为各位准备了一套Java程序员精选高频面试笔试真题,来帮助大家攻下BAT的offer,题目范围从初级的Java基础到高级的分布式架构等等一系列的面试题和答案,用于给大家作为参考

以下是部分内容截图
架构面试专题及架构学习笔记导图.png

alary) {

this.salary = salary;

最后

码字不易,觉得有帮助的可以帮忙点个赞,让更多有需要的人看到

又是一年求职季,在这里,我为各位准备了一套Java程序员精选高频面试笔试真题,来帮助大家攻下BAT的offer,题目范围从初级的Java基础到高级的分布式架构等等一系列的面试题和答案,用于给大家作为参考

以下是部分内容截图
[外链图片转存中…(img-fvieiPyF-1714354291557)]

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值