Originator.java
上传用户:hensond
上传日期:2021-12-27
资源大小:817k
文件大小:1k
源码类别:

软件工程

开发平台:

Java

  1. package com.company.section5;
  2. /**
  3.  * @author cbf4Life cbf4life@126.com
  4.  * I'm glad to share my knowledge with you all.
  5.  */
  6. public class Originator implements Cloneable{
  7. //内部状态
  8. private String state = "";
  9. public String getState() {
  10. return state;
  11. }
  12. public void setState(String state) {
  13. this.state = state;
  14. }
  15. //创建一个备忘录
  16. public Originator createMemento(){
  17. return this.clone();
  18. }
  19. //恢复一个备忘录
  20. public void restoreMemento(Originator _originator){
  21. this.setState(_originator.getState());
  22. }
  23. //克隆当前对象
  24. @Override
  25. protected Originator clone(){
  26. try {
  27. return (Originator)super.clone();
  28. } catch (CloneNotSupportedException e) {
  29. e.printStackTrace();
  30. }
  31. return null;
  32. }
  33. }