23种设计模式之python实现--Composite模式
来源:互联网 发布:软件测试知识点总结 编辑:程序博客网 时间:2024/05/02 03:05
#理解#具有层次结构,且使得部分和整体具有一致性#例子#一个经典的组合例子就是食品的分类#Componentclass food_Component(object): def __init__(self): self.food_object={} self.i=0 def display_name(self): pass def Add(self,food): pass def remove(self,food): pass def getChild(self,pos): pass#Compositeclass Vegetable_Composite(food_Component): def __init__(self,name): self.name=name super(Vegetable_Composite,self).__init__() def display_name(self): print self.name def Add(self,food): self.food_object[self.i]=food self.i=self.i+1 def remove(self,food): self.food_object.remove(food) def getChild(self,pos): return self.food_object[pos] #leafclass leaf(food_Component): def __init__(self,name): self.name=name super(leaf,self).__init__() def display_name(self): print self.name#clientif __name__=="__main__": cabbage=leaf('cabbage') cabbage.display_name() composite=Vegetable_Composite('vegetable') green=Vegetable_Composite('green vegetable') composite.Add(green) green.Add(cabbage) composite.display_name() green.display_name() component=composite.getChild(0) component.display_name() component1=component.getChild(0) component1.display_name()
运行如图:
0 0
- 23种设计模式之python实现--Composite模式
- python实现Composite模式
- 23设计模式之组合模式(Composite)
- 23设计模式之组合模式(Composite)
- 设计模式之Composite
- 设计模式之Composite
- 设计模式之Composite
- 设计模式之 composite
- 23种设计模式之组合模式(Composite)
- 23种设计模式之组合模式(composite)
- 【23种设计模式】之 组合模式(Composite Pattern)
- 设计模式之Composite模式
- 设计模式之composite模式
- 23种设计模式(Composite模式)
- 23种设计模式(9)--Composite模式
- 设计模式解析和实现(C++)之八-Composite模式
- 设计模式之Composite组合设计模式
- 设计模式之Composite(组合)
- 数据结构与程序架构(四)
- Android标题栏的去除和全屏
- 推荐系统方法之协同过滤
- 《大型网站技术架构》读书笔记 - 网站的技术升级路线
- 体验类中的指针
- 23种设计模式之python实现--Composite模式
- VMware tools的用途及安装
- 微信营销该如何做
- AJAX - 向服务器发送请求
- Eclipse背景颜色修改
- mac上搭建hadoop2.3.0云平台
- 2014-04-03某小公司笔试题目
- UVA 11729 - Commando War(贪心)
- Label自适应