路一步步走>> 设计模式八:Composite-组合

版权声明:本文为博主原创文章,未经博主允许不得转载。个人公众号:百草疯茂 https://blog.csdn.net/wang_pengyu/article/details/84873376
package com.test.DPs.JieGou.Composite;
/**
 * 结构型:Composite-组合		组合:作用面为 对象
 * 
 * 用途:将对象组合成树形结构以表示“部分-整体”的层次结构。Composite使得用户对单个对象和组合对象的使用具有一致性。
 *   常用于-“文件夹”或“树”
 * 
 */
abstract class component{}

class File extends component {String filename;}
class Folder extends component{
	component[] files;
	String foldername;
	public Folder(component[] source){ files = source; }
	public void scan(){
		for(component f: files){
			if(f instanceof File){
				System.out.println("File "+((File)f).filename);
			}else if(f instanceof Folder){
				Folder e = (Folder)f;
				System.out.println("Folder "+e.foldername);
				e.scan();
			}
		}
	}
}

猜你喜欢

转载自blog.csdn.net/wang_pengyu/article/details/84873376
今日推荐