Java面向对象设计模式(十一)——组合模式(Composite)

xiaoxiao2021-02-27  651

相关文章:Java面向对象设计模式

组合模式(Composite)

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

直接来看代码:

[java]  view plain  copy 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();       }   }   [java]  view plain  copy 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!");       }   }  

使用场景:将多个对象组合在一起进行操作,常用于表示树形结构中,例如二叉树,数等。

转载请注明原文地址: https://www.6miu.com/read-1916.html

最新回复(0)