您的位置:首页 > 其它

装饰器模式

2017-03-21 14:16 176 查看
#装饰器模式
#@理解:为一个事物在自身的基础上进行添加功能、属性等操作。
#利用构造函数的特点,获取原事物的属性,再增添自己的属性。
#避免深度继承带来的麻烦,同时可以更加随意的进行添加装饰
#扩展:
#使用场景:比如发表评论,把需要的评论都汇集在一起

#原事物
class BaseConent
{
public function action()
{
echo "我就是我";
}
}

#a类装饰
class a_Add extends BaseConent
{
public function __construct($bc)
{
$bc->action();
}

public function action()
{
echo "我有不一样的烟花";
}
}

#b类装饰
class b_Add extends BaseConent
{
public function __construct($bc)
{
$bc->action();
}

public function action()
{
echo "都是扯淡";
}
}

/////////////////////////////////////////////////////
#可以任意装饰
(new b_Add(new BaseConent()))->action();

echo "</br>";
(new b_Add (new a_Add((new BaseConent()))))->action();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: