php 装饰模式

WBOY
发布: 2016-08-08 09:23:57
原创
1123 人浏览过

装饰模式之变形金刚

(1)抽象构建类Tansform

interface Transform
{
	public function move();
}
登录后复制

(2)具体构建类Car

final class Car implements Transform
{
	public function __construct() {
		echo '变形金刚是一辆汽车';
	}
	public function move() {
		echo '在陆地上移动';
	}
}
登录后复制
(3)抽象装饰类Changer

class Changer implements Transform
{
	private $transform;
	public function __construct($tansform='') {
		$this->transform = $tansform;
	}
	public function move() {
		$this->transform->move();
	}
}
登录后复制
(4)具体装饰类Root,Airplane

class Root extends Changer
{
	public function __construct($tansform='') {
		parent::__construct($tansform);
		echo '变成机器人';
	}
	public function say() {
		echo '说话';
	}
}
class Airplane extends Changer
{
	public function __construct($tansform='') {
		parent::__construct($tansform);
		echo '变成机飞机';
	}
	public function fly() 
	{
		echo '在天空飞翔';
	}
}
登录后复制

(5)测试代码

$camaro = new Car();
echo '<br>';
$camaro->move();
echo '<br>';
echo '-----------';
echo '<br>';

$bumblebee = new Airplane($camaro);
echo '<br>';
$bumblebee->move();
echo '<br>';
$bumblebee->fly();

echo '<br>';
echo '-----------';
echo '<br>';

$bumblebee = new Root($camaro);
echo '<br>';
$bumblebee->move();
echo '<br>';
$bumblebee->say();
登录后复制


变形金刚是一辆汽车
在陆地上移动
-----------
变成机飞机
在陆地上移动
在天空飞翔
-----------
变成机器人
在陆地上移动
说话

以上就介绍了php 装饰模式,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板