辉煌电商SEO内测

百度关键词优化三天上首页!同行都是朋友, 欢迎一起互利共赢。谢绝一切非正规行业服务,感谢以下同行、团队、平台和代理的支持:

百度站长平台、MIP开发小组、SEO焦大老友、SEO每天一贴ZAC大哥、卢松松大哥、海瑶SEO兄弟、附子SEO兄弟、探索者SEO、帮站SEO好友、互点宝、超快排平台

百亿互刷宝、下拉天下、SEO自学网、SEO研究中心、小明SEO、王德春SEO、马海祥博客、踏雪无痕挂机工作室、SEO云优化好友、云客网、杭州思亿欧、网赚吧、北京SEO韩非老弟

需要了解以上同仁的相关信息,我们已经给你做好了搜索框,看右上角绿色那个,输入搜索即刻直达

网站统计: 共有读稿:14437部 / 今日更新:篇 / 评论:19条 / 会员:75 名 / 阅读:1086085
您好,请 【登陆】/【注册】
软件内容页横幅广告
您现在的位置:SEO平台 > PHP网站建设 >

PHP设计模式之装饰者模式代码实例

2018.04.20

浏览:

【导语】如果您觉得本篇内容还不错,请点击文章下面的赞,然后分享给朋友哦!...

PHP设计模式之装饰者模式代码实例-破洛洛教学网...请看详情...

seo

seo

   PHP设计模式之装饰者模式代码实例
         这篇文章主要介绍了PHP设计模式之装饰者模式代码实例,装饰者模式就是不修改原类代码和继承的情况下动态扩展类的功能,本文就给出了代码实例,需要的朋友可以参考下

  定义:

  装饰者模式就是不修改原类代码和继承的情况下动态扩展类的功能。传统的编程模式都是子类继承父类实现方法重载,使用装饰器模式,只需添加一个新的装饰器对象,更加灵活,避免类数量和层次过多。

  角色:

  Component(被装饰对象基类)

  ConcreteComponent(具体被装饰对象)

  Decorator(装饰者基类)

  ContreteDecorator(具体的装饰者类)

  示例代码:

  ?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 //被装饰者基类 interface Component { public function operation(); }   //装饰者基类 abstract class Decorator implements Component { protected $component;   public function __construct(Component $component) { $this->component = $component; }   public function operation() { $this->component->operation(); } }   //具体装饰者类 class ConcreteComponent implements Component { public function operation() { echo 'do operation'.PHP_EOL; } }   //具体装饰类A class ConcreteDecoratorA extends Decorator { public function __construct(Component $component) { parent::__construct($component);   }   public function operation() { parent::operation(); $this->addedOperationA(); // 新增加的操作 }   public function addedOperationA() { echo 'Add Operation A '.PHP_EOL; } }   //具体装饰类B class ConcreteDecoratorB extends Decorator { public function __construct(Component $component) { parent::__construct($component);   }   public function operation() { parent::operation(); $this->addedOperationB(); }   public function addedOperationB() { echo 'Add Operation B '.PHP_EOL; } }     class Client {   public static function main() { /* do operation Add Operation A */ $decoratorA = new ConcreteDecoratorA(new ConcreteComponent()); $decoratorA->operation();     /* do operation Add Operation A Add Operation B */ $decoratorB = new ConcreteDecoratorB($decoratorA); $decoratorB->operation(); }   }   Client::main();

0
赞一个
关键词:
☆喜欢这篇文章吗?分享给你的好友吧!点击这里复制网址☆
共有62人阅读,期待你的评论!评论
请先登陆后才能发表评论哦!没账号?赶紧注册一个吧!
最新评论
热门标签
回到顶部