ducksimulator.java

来自「深入浅出设计模式」· Java 代码 · 共 56 行

JAVA
56
字号
package headfirst.combining.composite;public class DuckSimulator {	public static void main(String[] args) {		DuckSimulator simulator = new DuckSimulator();		AbstractDuckFactory duckFactory = new CountingDuckFactory(); 		simulator.simulate(duckFactory);	} 	void simulate(AbstractDuckFactory duckFactory) {		Quackable redheadDuck = duckFactory.createRedheadDuck();		Quackable duckCall = duckFactory.createDuckCall();		Quackable rubberDuck = duckFactory.createRubberDuck();		Quackable gooseDuck = new GooseAdapter(new Goose());		System.out.println("\nDuck Simulator: With Composite - Flocks");		Flock flockOfDucks = new Flock();		flockOfDucks.add(redheadDuck);		flockOfDucks.add(duckCall);		flockOfDucks.add(rubberDuck);		flockOfDucks.add(gooseDuck);		Flock flockOfMallards = new Flock();		Quackable mallardOne = duckFactory.createMallardDuck();		Quackable mallardTwo = duckFactory.createMallardDuck();		Quackable mallardThree = duckFactory.createMallardDuck();		Quackable mallardFour = duckFactory.createMallardDuck();		flockOfMallards.add(mallardOne);		flockOfMallards.add(mallardTwo);		flockOfMallards.add(mallardThree);		flockOfMallards.add(mallardFour);		flockOfDucks.add(flockOfMallards);		System.out.println("\nDuck Simulator: Whole Flock Simulation");		simulate(flockOfDucks);		System.out.println("\nDuck Simulator: Mallard Flock Simulation");		simulate(flockOfMallards);		System.out.println("\nThe ducks quacked " + 		                   QuackCounter.getQuacks() + 		                   " times");	}	void simulate(Quackable duck) {		duck.quack();	}}

⌨️ 快捷键说明

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