composite.java

来自「Java设计模式(GOF)代码样例以及文档说明」· Java 代码 · 共 65 行

JAVA
65
字号
/*
 * 项目名称 Pattern
 * 包名称   com.niufish.pattern.composite.safe
 * 
 * 文件名称 Composite.java
 * 
 */
package com.niufish.pattern.composite.safe;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

/**
 * 树枝角色,代表参加组合的有下级子对象的对象。<br />
 * 这里给出了所有管理子对象的方法
 * <p>
 * <a href="Composite.java.html"><i>View Source</i></a>
 * </p>
 * @author  Kingfish
 * @version 1.0
 */
public class Composite implements Component {
    
    /**
     * 包含子对象的容器
     */
    private List _componentList = new ArrayList();
    
    /**
     * @see com.niufish.pattern.composite.safe.Component#operation()
     */
    public void operation() {
        System.out.println("安全合成对象:operation");
        Iterator it = _componentList.iterator();
        while (it.hasNext()){
            ((Component)it.next()).operation();
        }
    }
    
    /**
     * @see com.niufish.pattern.composite.safe.Component#getComposite()
     */
    public Composite getComposite() {
        return this;
    }

    /**
     * 增加一个子对象
     * @param component
     */
    public void add(Component component){
        _componentList.add(component);
    }
    
    /**
     * 删除一个子对象
     * @param component
     */
    public void remove(Component component){
        _componentList.remove(component);
    }

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?