组合模式
来源:互联网 发布:淘宝访问量突然下降 编辑:程序博客网 时间:2024/06/06 02:56
/** * 组合模式 1.优点:统一处理 * * 抽象组件: 1.提取叶子和容器的共同部分 * * @author zhangjianbin * */public interface AbstractFile { // 杀毒 void killVirus();}/** * 叶子组件 * 下面没有孩子了 * @author zhangjianbin * */class ImageFile implements AbstractFile { private String name; public ImageFile(String name) { super(); this.name = name; } @Override public void killVirus() { System.err.println("查杀图片文件,名子:"+this.name); }}/** * 容器节点 * 下面还有孩子 * @author zhangjianbin * */class FolderFile implements AbstractFile { private String name; //定义容器,用于 存放孩子节点 private List<AbstractFile> list = new ArrayList<AbstractFile>(); public FolderFile(String name) { super(); this.name = name; } //添加子节点 public void add(AbstractFile file){ this.list.add(file); } //移除子节点 public void remove(AbstractFile file){ this.list.remove(file); } //获取子节点 public AbstractFile getChidFile(int index){ return this.list.get(index); } @Override public void killVirus() { System.err.println("查杀文件夹,名子:"+this.name); //遍历子文件夹,杀毒 for(AbstractFile file:list){ file.killVirus(); } }}
public class Client { public static void main(String[] args) { AbstractFile f1,f2,f3; FolderFile file = new FolderFile("我的文件夹"); f1 = new ImageFile("图片.jpg"); f2 = new ImageFile("hello.jpg"); file.add(f1); file.add(f2); file.killVirus(); }}
0 0
- 组合模式
- 组合模式
- 组合模式
- 组合模式
- 组合模式
- 组合模式
- 组合模式
- 组合模式
- 组合模式
- 组合模式
- 组合模式
- 组合模式
- 组合模式
- 组合模式
- 组合模式
- 组合模式
- 组合模式
- 组合模式
- 通过WebService及存储过程等技术批量初始化系统组织数据
- 使用aggregate在MongoDB中查找重复的数据记录
- java中的接口
- Java学习第7天:对象的main关键字
- linux统计TCP端口的连接数
- 组合模式
- Maven的简单使用
- eclipse 中 maven项目 改为dynamic Web Project 时 显示 Dynamic Web Module 3.0 requires Java 1.6 or newer
- HDU-2610 && HDU-2610 (dfs)
- 找素数的Eratosthenes算法(筛选法)
- Boostrap-Glyphicons图标变成中文
- Java学习第7天:对象静态的应用和ArrayTool工具类
- Android BLE与终端通信(二)——Android Bluetooth基础科普以及搜索蓝牙设备显示列表
- OpenGL超级宝典7th简体中文-第五章-数据