php设计模式——装饰器模式
来源:互联网 发布:叙利亚老虎师 知乎 编辑:程序博客网 时间:2024/06/05 20:17
装饰器模式,对已有对象的部分内容或者功能进行调整,但是不需要修改原始对象结构,可以使用装饰器
场景事例:
咖啡 1 元一杯,加点牛奶0.2元,加点糖0.2元,在不修改咖啡类的情况下,使用装饰器模式
<?phpabstract class Beverage{public $_name;abstract public function Cost();}// 被装饰者类class Coffee extends Beverage{public function __construct(){$this->_name = 'Coffee';}public function Cost(){return 1.00;}}// 以下两个类是装饰者相关类class Milk extends Coffee{public $_beverage;public function __construct($beverage){$this->_name = 'Milk';$this->_beverage = $beverage;}public function Cost(){return $this->_beverage->Cost() + 0.2;}}class Sugar extends Coffee{public $_beverage;public function __construct($beverage){$this->_name = 'Sugar';$this->_beverage = $beverage;}public function Cost(){return $this->_beverage->Cost() + 0.2;}}// Test Case//1.拿杯咖啡$coffee = new Coffee();//2.加点牛奶$coffee = new Milk($coffee); //此时的$coffee已经是milk的对象了//3.加点糖$coffee = new Sugar($coffee); //此时的$coffee是糖的对象printf("Coffee Total:%0.2f\n",$coffee->Cost());
0 0
- php设计模式之———装饰器模式
- php设计模式——装饰器模式
- PHP设计模式——装饰器模式
- PHP设计模式——装饰器模式(decorator)
- PHP设计模式——装饰器模式
- 设计模式——装饰器模式
- 设计模式——装饰器模式
- 设计模式——装饰器模式
- PHP设计模式-装饰器模式
- PHP设计模式-装饰器模式
- php设计模式之装饰器模式
- 【设计模式】之装饰器模式-PHP
- PHP设计模式之装饰器模式
- PHP设计模式之装饰器模式
- PHP 设计模式之装饰器模式
- 设计模式—装饰器模式
- 设计模式—装饰器模式
- 设计模式—装饰模式
- hadoop的dfs.replication和dfs setrep
- Roman to Integer leetcode
- 数据库问题
- android开发之应用程序如何完全退出
- 20150115 瑞士央行取消汇率下限,瑞郎全线疯狂暴涨20% 黄金1260
- php设计模式——装饰器模式
- Embed Segue(嵌入式Segue)Demo
- Linux socket 及多线程 实例
- 当一个.NET托管程序运行时都发生了什么,关闭时发生了什么
- Matplotlib 基础
- 旋转转盘 算法
- Excel Sheet Column Number
- Python+Hadoop Streaming实现MapReduce(如何给map和reduce的脚本传递参数)
- 详细阐述Web开发中的图片上传问题