在一个对象的机关函数里初始化作为其他对象发明者(Observer[6])的对象是一个罕见的形式. 上面几行代码即是一个示例:
class Bettery
{
function Bettery() {…};
function AddObserver($method, &$obj)
{
$this->obs[] = array($obj, &$method)
}
function Notify(){…}
}
class Display
{
function Display(&$batt)
{
$batt->AddObserver("BatteryNotify",$this);
}
function BatteryNotify() {…}
}
然而, 这其实不会正常任务, 假如你是这么实例化对象的:
$myBattery = new Battery();$myDisplay = new Display($myBattery);