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

软件工程

开发平台:

Java

  1. package com.company.section9;
  2. /**
  3.  * @author cbf4Life cbf4life@126.com
  4.  * I'm glad to share my knowledge with you all.
  5.  */
  6. public class Originator {
  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 IMemento createMemento(){
  17. return new Memento(this.state);
  18. }
  19. //恢复一个备忘录
  20. public void restoreMemento(IMemento _memento){
  21. this.setState(((Memento)_memento).getState());
  22. }
  23. //内置类
  24. private class Memento implements IMemento{
  25. //发起人的内部状态
  26. private String state = "";
  27. //构造函数传递参数
  28. private Memento(String _state){
  29. this.state = _state;
  30. }
  31. private String getState() {
  32. return state;
  33. }
  34. private void setState(String state) {
  35. this.state = state;
  36. }
  37. }
  38. }