结构型模式:6.组合模式(Composite)

组合模式有时又叫部分-整体模式在处理类似树形结构的问题时比较方便。

public class TreeNode {  
2.      
3.    private String name;  
4.    private TreeNode parent;  
5.    private Vector<TreeNode> children = new Vector<TreeNode>();  
6.      
7.    public TreeNode(String name){  
8.        this.name = name;  
9.    }  
10.  
11.    public String getName() {  
12.        return name;  
13.    }  
14.  
15.    public void setName(String name) {  
16.        this.name = name;  
17.    }  
18.  
19.    public TreeNode getParent() {  
20.        return parent;  
21.    }  
22.  
23.    public void setParent(TreeNode parent) {  
24.        this.parent = parent;  
25.    }  
26.      
27.    //添加孩子节点  
28.    public void add(TreeNode node){  
29.        children.add(node);  
30.    }  
31.      
32.    //删除孩子节点  
33.    public void remove(TreeNode node){  
34.        children.remove(node);  
35.    }  
36.      
37.    //取得孩子节点  
38.    public Enumeration<TreeNode> getChildren(){  
39.        return children.elements();  
40.    }  
41.}  
1.public class Tree {  
2.  
3.    TreeNode root = null;  
4.  
5.    public Tree(String name) {  
6.        root = new TreeNode(name);  
7.    }  
8.  
9.    public static void main(String[] args) {  
10.        Tree tree = new Tree(“A”);  
11.        TreeNode nodeB = new TreeNode(“B”);  
12.        TreeNode nodeC = new TreeNode(“C”);  
13.          
14.        nodeB.add(nodeC);  
15.        tree.root.add(nodeB);  
16.        System.out.println(“build the tree finished!”);  
17.    }  
18.}  
使用场景:将多个对象组合在一起进行操作,常用于表示树形结构中,例如二叉树,数等。

posted @ 2016-08-30 10:35  wangkejun  阅读(121)  评论(0)    收藏  举报