originator.java

来自「23种GOF模式的java代码实现」· Java 代码 · 共 45 行

JAVA
45
字号
package org.gof.action.Memento;

import java.io.File;

/**
 * <p>Title: 备望录模式模式</p>
 * <p>Description:备望录模式范例</p>
 * <p>Copyright: Copyright (c) 2007</p>
 * memento是一个保存另外一个对象内部状态拷贝的对象.这样以后就可以将该对象恢复到原先保存的状态
 * @author by lbj
 * @version 1.0
 */

public class Originator {

  private int number;
  private File file = null;

  public Originator() {}

  // 创建一个Memento
  public Memento getMemento() {
    return new Memento(this);
  }

  // 恢复到原始值
  public void setMemento(Memento m) {
    number = m.number;
    file = m.file;
  }

  private class Memento
      implements java.io.Serializable {

    private int number;

    private File file = null;

    public Memento(Originator o) {
      number = o.number;
      file = o.file;
    }
  }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?