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();
        }
  • 相关阅读:
    WebView
    dpdpipxptem单位长度理解
    js跨域访问
    JS&CSS压缩工具YUICompressor
    IIS7.5站点配置
    Jscript运行时错误:没有权限
    控制HttpContext为null
    JSON数组成员反序列化
    Linux 系统默认运行级别设定
    环境搭建常用工具
  • 原文地址:https://www.cnblogs.com/jentary/p/5914401.html
Copyright © 2011-2022 走看看