首页 > 代码库 > java设计模式--组合模式
java设计模式--组合模式
组合模式(composite):用统一的方式处理整体和部分,多用于树形结构数据的处理。
分为3个部分
1.容器
2.叶子
3.抽象组件
//抽象组件public interface AbstractFile { //杀毒 void shadu();}//叶子组件class ImageFile implements AbstractFile{ private String name; public ImageFile(String name) { super(); this.name = name; } public void shadu() { System.out.println("杀图像文件"); }; }//容器组件class Rongqi implements AbstractFile{ private String name; private List<AbstractFile> list= new ArrayList<AbstractFile>(); public Rongqi(String name) { super(); this.name = name; } public void add(AbstractFile c){ list.add(c); } public void remove(AbstractFile c){ list.remove(c); } public AbstractFile getChild(int index){ return list.get(index); } public void shadu() { System.out.println("文件夹杀毒"); //天然递归 for (AbstractFile abstractFile : list) { abstractFile.shadu(); } } }
public static void main(String[] args) { AbstractFile f1 = new ImageFile("图片1"); AbstractFile f2 = new ImageFile("图片2"); Rongqi f0 = new Rongqi("文件夹1"); f0.add(f1); f0.add(f2); f0.shadu(); }
java设计模式--组合模式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。