zoukankan      html  css  js  c++  java
  • design_model(8)composite

    1.组合模式

    将一组相似的对象根据一个树状结构来组合,然后提供一个统一的方法去访问相应的对象,以此忽略掉对象与对象集合之间的差别。

    2.实例

    public interface Workfile {
    	public abstract void KillVirus();
    }
    
    public class Floder implements Workfile {
    
    	@Override
    	public void KillVirus() {
    
    	}
    
    }
    
    class ImageFloder implements Workfile {
    
    	@Override
    	public void KillVirus() {
    
    	}
    
    }
    
    public class CompositeHandler {
    	private ArrayList<Workfile> f1 = new ArrayList<>();
    
    	public void add(Workfile f) {
    		f1.add(f);
    	}
    
    	public ArrayList<Workfile> getF1() {
    		return f1;
    	}
    
    	public void killVirus() {
    		for (Workfile workfile : f1) {
    			workfile.KillVirus();
    		}
    	}
    }
    
    public class Client {
         public static void main(String[] args) {
    		  Floder f2 = new Floder();
    		  ImageFloder f3 = new ImageFloder();
    		  CompositeHandler ch = new CompositeHandler();
    		  ArrayList<Workfile> f1 = ch.getF1();
    		  f1.add(f2);
    		  f1.add(f3);
    		  ch.killVirus();
    	}
    }
    
  • 相关阅读:
    [Linux]
    [.Net]
    [.Net]
    [Linux]
    [Google]
    面向对象的7个基本设计原则
    windows SDK中的wininet写http客户端
    C++ 用libcurl库进行http通讯网络编程
    感悟
    关于Windows高DPI的一些简单总结
  • 原文地址:https://www.cnblogs.com/gg128/p/9570172.html
Copyright © 2011-2022 走看看