您的位置:首页 > 编程语言 > Python开发

23种设计模式之python实现--Decorator模式

2014-04-03 19:29 567 查看
#理解
#动态的给一个对象添加额外的职责
#例子
#假如有一只会叫的dog,现在让它叫的时候会张嘴
#Component
class Animal(object):
def speak(self):
pass
#ConcreateComponent
class dog(Animal):
def speak(self):
print 'wangwang'
#Decorator
class Decorator(object):
Component=None
def speak(self):
self.Component.speak()
#ConcreateDecorator
class ConcreateDecorator(Decorator):
def __init__(self,Com):
self.Component=Com
def speak(self):
self.openmouth()
super(ConcreateDecorator,self).speak()
def openmouth(self):
print 'open mouth'
#client
if __name__=='__main__':
ComcreateComponent=dog()
dec=ConcreateDecorator(ComcreateComponent)
dec.speak()

运行如图:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: