本文共 1110 字,大约阅读时间需要 3 分钟。
state=$state; } public function getState(){ return $this->state; } //创建备忘录,将当前需要保存的信息导入并 //实例化出一个Memento对象 public function CreateMemento(){ return new Memento($this->state); } //恢复备忘录,将Memento导入并将相关数据恢复 public function setMemento(Memento $memento){ $this->state=$memento->getState(); } //显示数据 public function show(){ echo '状态:'.$this->state; } } //备忘录类 class Memento{ private $state; public function __construct($state){ $this->state=$state; } public function getState(){ return $this->state; } } //管理者类 //用来管理备忘录 class Caretaker{ private $memento; public function setMemento(Memento $memento){ $this->memento=$memento; } public function getMemento(){ return $this->memento; } } // 客户端 // 创建需要备忘录保存状态的对象 $originator=new Originator(); //初始状态属性为On $originator->setState('On'); $originator->show(); //生成备忘录的管理器以便保存状态 $caretaker=new Caretaker(); $caretaker->setMemento($originator->CreateMemento()); $originator->setState('Off'); $originator->show(); //恢复初始状态 $originator->setMemento($caretaker->getMemento()); $originator->show();?>
转载于:https://blog.51cto.com/noican/1614790