其实这个设计模式我在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();
大家测试一下然后手动谢谢试试!

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部