(Python3 代码实现)《大话设计模式》三:装饰模式
装饰模式模式特点:动态地为对象增加额外的职责程序实例:展示一个人一件一件穿衣服的过程。代码特点:无#!/usr/bin/env python# -*- coding: utf-8 -*-# @Time: 2021/1/19 17:41# @Author: cch# @Site:# @File: decorator.py# @Software: PyCharmclass Person:def __i
·
装饰模式
- 模式特点:动态地为对象增加额外的职责
- 程序实例:展示一个人一件一件穿衣服的过程。
- 代码特点:无
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2021/1/19 17:41
# @Author : cch
# @Site :
# @File : decorator.py
# @Software: PyCharm
class Person:
def __init__(self, tname):
self.name = tname
def Show(self):
print("dressed %s" % (self.name))
class Finery(Person):
componet = None
def __init__(self):
pass
def Decorate(self, ct):
self.componet = ct
def Show(self):
if (self.componet != None):
self.componet.Show()
class TShirts(Finery):
def __init__(self):
pass
def Show(self):
print("Big T-shirt ")
self.componet.Show()
class BigTrouser(Finery):
def __init__(self):
pass
def Show(self):
print("Big Trouser ")
self.componet.Show()
if __name__ == "__main__":
p = Person("somebody")
bt = BigTrouser()
ts = TShirts()
bt.Decorate(p)
ts.Decorate(bt)
ts.Show()
更多推荐
已为社区贡献1条内容
所有评论(0)