1. 程式人生 > >(結構型模式六)組合模式

(結構型模式六)組合模式

package com.eyugame.modle;

import java.util.Vector;

/**
 * 組合模式
 * 
 * @author JYC506
 * 
 */
public class Tree {

	private TreeNote root;

	public Tree(String name) {
		super();
		this.root = new TreeNote(name);
	}

	public TreeNote getRoot() {
		return root;
	}

	public static void main(String[] args) {
		/* 建立樹型結構物件,建立一棵樹 */
		Tree tree = new Tree("樹");
		TreeNote noteA = new TreeNote("A");
		TreeNote noteB = new TreeNote("B");

		noteA.addChild(noteB);
		tree.getRoot().addChild(noteA);
	}

}

class TreeNote {

	private String name;

	private TreeNote parent;

	private Vector<TreeNote> children;

	public TreeNote(String name) {
		super();
		this.name = name;
		this.children = new Vector<TreeNote>();
	}

	public void addChild(TreeNote child) {
		this.children.add(child);
	}

	public void removeChild(TreeNote child) {
		this.children.remove(child);
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public TreeNote getParent() {
		return parent;
	}

	public void setParent(TreeNote parent) {
		this.parent = parent;
	}

}