组合模式(Composite)

来源:互联网 发布:小米6数据网络不稳定 编辑:程序博客网 时间:2024/05/17 07:26

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


直接看代码:

import java.util.Enumeration;import java.util.Vector;public class TreeNode {private String name;      private TreeNode parent;      private Vector<TreeNode> children = new Vector<TreeNode>();            public TreeNode(String name){          this.name = name;      }        public String getName() {          return name;      }        public void setName(String name) {          this.name = name;      }        public TreeNode getParent() {          return parent;      }        public void setParent(TreeNode parent) {          this.parent = parent;      }            //添加孩子节点      public void add(TreeNode node){          children.add(node);      }            //删除孩子节点      public void remove(TreeNode node){          children.remove(node);      }            //取得孩子节点      public Enumeration<TreeNode> getChildren(){          return children.elements();      }}
public class Tree {TreeNode root = null;        public Tree(String name) {          root = new TreeNode(name);      }        public static void main(String[] args) {          Tree tree = new Tree("A");          TreeNode nodeB = new TreeNode("B");          TreeNode nodeC = new TreeNode("C");                    nodeB.add(nodeC);          tree.root.add(nodeB);          System.out.println("build the tree finished!");      }}
        使用场景:将多个对象组合在一起进行操作,常用于表示树形结构中,例如二叉树等。

        参考资料:Java开发中的23种设计模式

原创粉丝点击