首页 > 作文

【php设计模式】观察者模式

更新时间:2023-04-07 06:33:16 阅读: 评论:0

求助信当对象间存在一对多关系时,则使用观察者模式。比如,当一个对象被修改时,则会自动通知它的依赖对象。观察者模式属于行为型模式。

<?phpclass subject{    private $obrver_list;    private $num;    public function __construct(){        $this->obrver_list = new spldoublylinkedlist();    }    public function attach(obrver $obrver){        $this->obrver_list->push($obrver);    }    publ猪腰的做法ic function tnum($num){        $this->num = $num;        $this->notify();    }    public function getnum(){        return $this->num;    }    public function notify(){        foreach ($this->obrver_list as $obrver) {            $obrver->update();        }    }}abstract class obrver{    public $subj;    public function __construct(subject $subj){        $this->subj = $变焦subj;        $this->subj->attach($this);    }    abstract function update();}class binobrver extends obrver{    public function update(){        echo "二进制更新:".decbin($this->subj->getnum())."\n";    }}class octobrver extends obrver{    public function update(){        echo "八进制更新:".decoct($this->subj->getnum())."\n";    }}class hexobrver extends obrver{    public function update(){        echo "十六进制更新:".dechex($this->subj->getnum())."帅的网名\n";    }}$subject = new subject(食品安全培训内容);new binobrver($subject);new octobrver($subject);new hexobrver($subject);$subject->tnum(22);

运行结果:

二进制更新:10110八进制更新:26十六进制更新:16

本文发布于:2023-04-07 06:33:15,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/a4cbc65cbe55d7317be70ddfb4b5971c.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:【php设计模式】观察者模式.doc

本文 PDF 下载地址:【php设计模式】观察者模式.pdf

标签:观察者   对象   模式   变焦
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图