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

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

模式说明

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

模式结构图

程序示例

说明:一辆车,装饰窗户,装饰轮子

代码:

class Car(object):    def description(self):        print 'basic car'class WindowDecorator(Car):    def __init__(self, car):        self._car = car    def description(self):        self._car.description()        print 'decorator window'class WheelDecorator(Car):    def __init__(self, car):        self._car = car    def description(self):        self._car.description()        print 'decorator whell'if __name__=='__main__':    car = WheelDecorator(WindowDecorator(Car()))    car.description()

运行结果:

参考来源:

http://www.cnblogs.com/chenssy/p/3679190.html

http://www.cnblogs.com/wuyuegb2312/archive/2013/04/09/3008320.html

http://www.cnblogs.com/Terrylee/archive/2006/07/17/334911.html

http://www.cnblogs.com/saville/archive/2011/07/19/2110830.html

 

转载于:https://www.cnblogs.com/cotton/p/3935417.html

你可能感兴趣的文章
Spark笔记-treeReduce、reduce、reduceByKey
查看>>
P1290 欧几里德的游戏 博弈
查看>>
WPF 图片抗锯齿,尤其是小图片更为严重
查看>>
JS出现illegal character非法字符提示
查看>>
项“XXXXX.sln”已在选择的位置受源代码管理
查看>>
5.31团队第二阶段冲刺(六)
查看>>
SDUTOJ-3311数据结构实验之串三:KMP应用
查看>>
数据库性能优化手法
查看>>
关于ViewState
查看>>
HP QR Code (php二维码生成类库)
查看>>
Spring MVC Controller中GET方式传过来的中文参数会乱码的问题
查看>>
网页设计中常用的CSS命名规则整理
查看>>
后端接口时间戳或者随机数的作用
查看>>
Yarn Capacity Scheduler配置
查看>>
第八周作业
查看>>
IOS越狱环境搭建
查看>>
iOS 手势及触摸
查看>>
暑假培训的第一天
查看>>
pdf格式文档怎么拆分为多个文档
查看>>
vue插件集合
查看>>