博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
装饰器模式
阅读量:5140 次
发布时间:2019-06-13

本文共 879 字,大约阅读时间需要 2 分钟。

   装饰器模式: 动态地给一个对象添加一些额外的职责或者行为。就增加功能来说, Decorator模式相比生成子类更为灵活。

 类结构图:

装饰器模式类结构图

php代码示例:

name = $tname; } function Show(){ print "dressed ".($this->name)."\n"; }}class Finery extends Person{ protected $componet=null; function __construct(){ } function Decorate($ct){ $this -> componet = $ct; } function Show(){ if(!is_null($this -> componet)){ $this -> componet -> Show(); } }}class TShirts extends Finery{ function Show(){ print "Big T-shirt\n"; $this -> componet -> Show(); }}class BigTrouser extends Finery{ function Show(){ print "Big Trouser "; $this -> componet -> Show(); }}$p = new Person("Brown");$bt = new BigTrouser();//$ts = new TShirts();$bt -> Decorate($p);$bt -> Show();//$ts->Decorate($bt);//$ts->Show();?>

转载于:https://www.cnblogs.com/zhutianpeng/p/4232111.html

你可能感兴趣的文章
P1113 杂务
查看>>
20155320《网络对抗》MSF基础应用
查看>>
第七章 软件测试 课后习题
查看>>
一篇非常适合git入门的文章
查看>>
四级英语day10
查看>>
基于K-近邻分类算法的手写识别系统
查看>>
使用easyui的form提交表单,在IE下出现类似附件下载时提示是否保存的现象
查看>>
PC站跳转M站的方法
查看>>
wow 各职业体验(pvp)
查看>>
Streaming的receiver模式
查看>>
[转载]一个人的失败,99%失败于“脾气”
查看>>
一个简单的MDI示范程序(Delphi)
查看>>
统计实验数据 总结实验结果
查看>>
Spring 3.x MVC 入门4 -- @ResponseBody & @RequestBody
查看>>
62. Unique Paths
查看>>
Linux Linux程序练习十七
查看>>
数据库关系运算
查看>>
JavaSE基础之 IO流
查看>>
DDoS攻防战 (一) : 概述
查看>>
根据现有PDF模板填充信息(SpringBoot)
查看>>