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();
        }
  • 相关阅读:
    假期小作业1
    Python_day4
    Python_day3
    Python_day2
    12/06
    12/05
    python系统学习:第三周之简单的三级菜单
    python系统学习:第二周之字典应用
    python系统学习:第二周之字符串函数练习
    python系统学习:第二周之购物车功能
  • 原文地址:https://www.cnblogs.com/jentary/p/5914401.html
Copyright © 2011-2022 走看看