} public abstract function Update(); } /** * 观察者 */ class StockObserver extends Observer { public function __construct($name, $sub) { parent::__construct($name, $sub); } public function Update() { echo " 你赶快跑..."; } } $huhansan = new Boss(); //被观察者 $gongshil = new StockObserver("三毛", $huhansan); //初始化观察者 $gongshil2 = new StockObserver("si毛", $huhansan); //初始化观察者 $huhansan->Attach($gongshil); //添加一个观察者 $huhansan->Attach($gongshil2); //添加一个相同的观察者 $huhansan->Detach($gongshil); //踢出基中一个观察者 $huhansan->Notify(); //通过所有有效的观察者