compositeexample.java~1~

来自「《深入浅出设计模式》的完整源代码」· JAVA~1~ 代码 · 共 51 行

JAVA~1~
51
字号

package composite;

public class CompositeExample {

	public static void main(String[] args) {

    // creiamo 4 componenti "Leaf"
    Component pino = new Leaf("Pino");
    Component gino = new Leaf("Gino");
    Component lino = new Leaf("Lino");
    Component tino = new Leaf("Tino");

    // un composite con 3 dei 4 leaf
    Component trio = new Composite("Trio");
    try {
      trio.add(pino);
      trio.add(gino);
      trio.add(lino);
    }
    catch (LeafException e){
    	e.printStackTrace();
    }

    // un composite composto da un altro composite e da un leaf

    Component mino = new Composite("Mino");
    try{
    	mino.add(trio);
    	mino.add(tino);
    }
    catch (LeafException e){
    	e.printStackTrace();
    }

    // prova di richiamo operation() su alcuni oggetti

    pino.printName();
    trio.printName();
    mino.printName();

    // errore: si prova a richiamare add() su un Leaf

    try{
    	tino.add(trio);
    }
    catch (LeafException e){
    	e.printStackTrace();
    }
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?