当前位置:首页 > 日记 > 正文

PHP设计模式的装饰器模式代码的一个示例

PHP设计模式的装饰器模式代码的一个示例
定义 uff1a

装饰模式是动态扩展类的功能,不需要修改原有的类代码和继承,传统的编程模式是继承父类以实现方法重载的子类。装饰模式只需要添加一个新的装饰对象,它更灵活,避免类的数量和级别。

的作用:

组件(装饰对象基类)

混凝土构件(特别是装饰物)

装饰器(装饰器基类)

contretedecorator(具体装饰类)

示例代码:

是/装饰类
接口组件
{
公共职能运作();
}

装饰类
抽象类装饰器实现组件
{
受保护的组件;

公共功能__construct(组件$成分)
{
$这个组件;
}

公共职能运作()
{
$ >组件- >操作();
}
}

特定的装饰类
混凝土构件实现了组件类
{
公共职能运作()
{
echo'do php_eol操作;
}
}

特定装饰
类concretedecoratora延伸装饰{
公共功能__construct(组件$组件){
家长::__construct(元部件);

}

公共函数操作(){
父::操作();
(美元-> addedoperationa); / /新业务
}

公共功能addedoperationa(){
echo'add操作。php_eol;
}
}

特定装饰
类concretedecoratorb延伸装饰{
公共功能__construct(组件$组件){
家长::__construct(元部件);

}

公共函数操作(){
父::操作();
美元-> addedoperationb();
}

公共功能addedoperationb(){
echo'add操作php_eol B;
}
}
客户端类{

公共静态函数main(){
*
做手术
添加操作
* /
decoratora美元=新concretedecoratora(新混凝土构件());
decoratora美元->运行();
*
做手术
添加操作
添加操作B
* /
decoratorb =新concretedecoratorb美元(美元decoratora);
decoratorb美元->运行();
}

}

客户::主();

相关文章

QQ空间多情爱情签名

QQ空间多情爱情签名

空间,多情,爱情,电脑软件,QQ,以下是QQ空间感伤爱情签名的全部内容 我不喜欢,不适合,可以在一起,是三种不同的东西。 二、拿力气去恨一个人,证明你在乎,唯一的伤害是唯一的。有时候,难以忘记是最好的报复。 三,当我向你倾诉我的烦恼时,这不是抱怨,那…

js实现了从表中动态删除指定行的方

js实现了从表中动态删除指定行的方

删除,方法,动态,实现了,电脑软件,本文演示了js实现从表中动态删除指定行的方式: js的表对象已删除表中指定行deleteRow方法,只有指定的行数 功能deleteRow(R) { var i = r.parentnode.parentnode.rowindex; document.getelementbyid('mytable)…

一键锁QQ保护聊天私人qq技术

一键锁QQ保护聊天私人qq技术

聊天,一键,私人,技术,电脑软件,现在办公室将无法使用QQ,在网络联系业务,客户等。如果你正在说话,突然离开,我会怎么做,但担心你的同事看到与你的客户的谈话吗如果你出去很长时间,直接关闭QQ,但是如果你很快回来,你不需要启动QQ然后回来重新登录吗如…

通用电子表格excel基础excel基础

通用电子表格excel基础excel基础

电子表格,通用,基础,电脑软件,excel,1。发现重复内容的公式:=如果(COUNTIF(一:A、A2)> 1,重复 2。年龄公式是由出生年份计算:= trunc(((days360(H6,2009 / 8 / 30 三.公式为出生年份和月份的18位身份证号码输入:=连结(MID(e2,7,4), / 4。该系统能自动从输入…

美元。Ajax()错误分析错误总结空间或

美元。Ajax()错误分析错误总结空间或

错误,错误分析,字符,美元,空白,试验是一个长时间的反复,水平制表符( u0009)在前台数据传输JSON格式转换失败,后台包含 u0009,T,Tab是关键,但手动的输入框一般不能进入水平制表符,可以使用记事本输入的一个字符串按键盘Tab键中间的一个字符串,然后复…

离别的伤感经典签名

离别的伤感经典签名

伤感,经典,电脑软件,以下是《分手的经典人格签名》的全部内容。 相识的人彼此相爱。 两个人的回忆,只有我一个人珍惜! 分手吧,我不难过,因为我想骄傲的看着你。 你知道,有一种爱叫做离开。 离开只是一个华丽的转身。 让我最后一次爱你。我知道,我…

PS图象处理软件设计和制造美丽的蓝

PS图象处理软件设计和制造美丽的蓝

图象处理,软件设计,流星,蓝色,美丽,流星的产生分为三个部分:首先,利用路径绘制轮廓,填充简单的纹理构成主体,然后用笔刷添加尾部和中间部分的小颗粒;最后,我们可以渲染和渲染局部高亮。 流星的产生分为三个部分:首先,利用路径绘制轮廓,填充简单的纹…

用js获取表单的方法

用js获取表单的方法

方法,表单,电脑软件,js,本文演示了js获得表单的方式: 首先,看看下面的代码: 窗口。指针函数(){ F1 = document.f1 VaR; var =文档。表单{ 1 }; 警报(F2); VAR F3 =文档形式{ 'f1'}; } 操作形式: 功能checkform(F){ VaR uname = f.username; var pwd =…

jQuery的流沙插件,实现惊人的动画洗

jQuery的流沙插件,实现惊人的动画洗

动画,插件,流沙,惊人,效果,流沙是一个基于jQuery的插件。它可以对页面上的元素进行重新排列和过滤,具有很好的洗牌过渡动画效果。它可以应用于许多项目,以提高用户体验。本文解释了流沙的使用与实际工程应用。 XHTML 所有的功能模块 应用程…

不要错过经典签名

不要错过经典签名

不要错过,经典,电脑软件,以下是不要错过经典签名的全部内容。如果您喜欢小编辑器的建议,请继续关注它。 站在未来拥抱的地方。 直到后悔取代了他,一个人才算老。只有遗憾取代了梦想,人才才变老。 幻想是一把刀,可以间接地摧毁信任。 如果你找不…

用CDR制作真实风景的方法和过程

用CDR制作真实风景的方法和过程

方法,风景,过程,真实,电脑软件,本教程介绍朋友coredraw创建逼真的山水画的方法和过程。主要的课程是让朋友们学习如何构思,而不是建议朋友们用CDR制作真实的风景,有兴趣的朋友可以学习如何制作。 本教程主要介绍CDR朋友创建真实风景的方法和…

可爱卡通米奇老鼠教程

可爱卡通米奇老鼠教程

教程,老鼠,卡通,可爱,电脑软件,本教程是介绍一个米老鼠的过程使用CDR来绘制可爱的卡通。Mickey Mouse很可爱,很难相处。建议朋友们聚在一起学习和制作。 本教程是介绍Mickey Mouse的一个朋友的卡通画图程序,用的是CDR,渲染出来的Mickey Mouse…