package com.dasenlin.composite;
import java.util.Enumeration;
import java.util.Vector;
/**
* 組合模式有時又叫部分-整體模式在處理類似樹形結構的問題時比較友善.
* 使用場景:将多個對象組合在一起進行操作,常用于表示樹形結構中,例如二叉樹,數等。
* @author Administrator
*
*/
public class TreeNode {
private String name;
private TreeNode parent;
private Vector<TreeNode> children =new Vector<TreeNode>();
public TreeNode(String name) {
super();
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();
}
//ceshi
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!");
}
}
class Tree{
TreeNode root=null;
public Tree(String name){
root =new TreeNode(name);
}
}