本文实例讲述了php装饰者模式简单应用。分享给大家供大家参考,具体如下:
装为什么学习不好饰模式指的是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。
示例:
a、b、c编辑同一篇文章。
class article{ protected $content; public function __construct($info){ $this->content = $info; }}class editor_a extends article{ pu丢份blic function __construct(article $obj){ $this->content = $obj->content . '<br/>' . '编辑a新写的内容'; } public function decorator(){ return $this->content; }}class editor_b extends article{ public function __construct(article $obj){ $this->content = $obj->content . '<br/>' . '编辑b新写的内容'; } public function decorator(){ return $this->content世界100强大学排名; }}class editor_c extends article{ 钱塘湖春行古诗public function __construct(article $obj){ $this->content = $obj->content . '<br/>' . '编辑c新写的内容'; } public function decorator(){ return $this->content; }}$artcls = new article('你好');//编辑a先秀修改,然后编辑b修改,然后编辑c修改$a = new editor_a($artcls);$b = new editor_b($a);$c = new editor_c($b);echo $c->decorator();//编辑b先秀修改,然后编辑a修改$b = new editor_b($artcls);$a = new editor_a($b);echo $a->decorator();//重点是传递参数的地方,使用article $obj传递上一个操作的对象,//来实现对同一个对象进行连续操作
运行结果:
你好
编辑a新写的内容
编辑b新写的内容
编辑c新写的内容你好
编辑b新写的内容
编先进班集体辑a新写的内容
本文发布于:2023-04-08 06:11:46,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/5524f5ac9d953f2794539e372f467a49.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:php装饰者模式简单应用案例分析.doc
本文 PDF 下载地址:php装饰者模式简单应用案例分析.pdf
留言与评论(共有 0 条评论) |