zoukankan      html  css  js  c++  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();
        }
  • 相关阅读:
    JS之AJAX篇FormData对象
    JS之AJAX进度事件
    JS之BOM篇navigator对象
    JS之AJAX响应解码
    JS之AJAXXHR对象
    SAP NetWeaver平台介绍
    图解SSIS批量导入Excel文件(转)
    SQL Server 2008安装图解(转)
    实施BI应该如何找准切入点?
    如何修改SQL SA密码
  • 原文地址:https://www.cnblogs.com/jentary/p/5914401.html
Copyright © 2011-2022 走看看