结构型模式: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.}
使用场景:将多个对象组合在一起进行操作,常用于表示树形结构中,例如二叉树,数等。

浙公网安备 33010602011771号