python设计模式(组合模式)
来源:互联网 发布:react json转array 编辑:程序博客网 时间:2024/05/16 14:16
学习版本3.5.2
组合模式的目的是将对象组合成树形结构来表示“整体-部分”的层次结构,组合模式使得用户对单个对象和组合对象的使用具有一致性。
举个例子:用组合模式去做一个简单的文件夹系统
class BaseFile(object): def __init__(self, name): self.name = nameclass MyFolder(BaseFile): def __init__(self, name): super(MyFolder,self).__init__(name) self.filelist = [] def add(self, basefile): self.filelist.append(basefile) def display(self, *num): if len(num) > 0: n = num[0] else: n = 0 print("-"*n+self.name+"-"*n) print("="*20) n += 1 for f in self.filelist: f.display(n)class MyFile(BaseFile): def add(self, basefile): print("can not put a file into a file") def display(self, *num): if len(num) > 0: n = num[0] else: n = 0 print("-"*n+self.name)if __name__ == "__main__": folder1 = MyFolder("folder1") folder11 = MyFolder("folder11") folder111 = MyFolder("folder111") folder12 = MyFolder("folder12") file1 = MyFile("file1") file2 = MyFile("file2") file3 = MyFile("file3") file4 = MyFile("file4") folder1.add(folder11) folder1.add(folder12) folder11.add(folder111) folder1.add(file1) folder11.add(file2) folder12.add(file3) folder111.add(file4) folder11.display()
运行结果
folder11====================-folder111-====================--file4-file2
阅读全文
0 0
- python设计模式(组合模式)
- Python设计模式——组合模式
- python设计模式之组合模式
- Python设计模式(十八)【组合模式】
- 设计模式-组合模式-composite-python??
- python设计模式之组合模式
- 设计模式:组合模式
- 设计模式-----组合模式
- 设计模式 组合模式
- 设计模式--组合模式
- 设计模式---组合模式
- 【设计模式】组合模式
- 设计模式 - 组合模式
- 设计模式----组合模式
- 设计模式 - 组合模式
- 设计模式:组合模式
- 设计模式 - 组合模式
- 设计模式-组合模式
- 物联网(持续关注,不定期更新)
- 最大子树和
- 面向对象和基于对象的区别
- php 监控redis队列的长度,在队列堆积的时候实现微信报警
- 自定义JS对象
- python设计模式(组合模式)
- synchronized 与 Lock的对比
- HTML5迁移(将HTML4迁移到HTML5)
- 装饰器详解
- Python高级编程——7.装饰器
- 原生javascript实现自动更新的时间日期
- 关于RecyclerView与ListView控件滑动距离的计算方法
- C# dataTable,dataView和Dataset 三者的区别
- HTML标签(3)