其实这个设计模式我在java开发的时候用的比较多,因为文件的I/O用的就是装饰模式,今天用PHP讲解一下装饰模式这个东西,我在网上下载了一个类图大家看一下也许就明白了! 下边是代码,第一个是base类图也就是基类!
<?php interface base{ public function show(); }第二个人物的 也就是实现基类的
<?php class ren implements base{ public function show(){ echo "肖伟"; } }第三个是装饰类
<?php interface zhuangshi extends base{ public function show(); }第四个是实现装饰类的
<?php class maozi implements zhuangshi{ private $ren; public function __construct($ren){ $this->ren = $ren; } public function show(){ echo "带帽子"; $this->ren->show(); } }第五个也是实现装饰类 包装人类的
<?php class yifu implements zhuangshi{ private $ren; public function __construct($ren){ $this->ren = $ren; } public function show(){ echo "穿衣服"; $this->ren->show(); } }第六个就是生产环境也就是使用环境
<?php header("content-type:text/html;charset=utf-8"); function __autoload($classname){ require $classname.".class.php"; } $ren = new maozi(new yifu(new ren())); $ren->show();大家测试一下然后手动谢谢试试!
发表评论 取消回复