hometheaterfacade.java

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

JAVA
95
字号
package headfirst.facade.hometheater;public class HomeTheaterFacade {	Amplifier amp;	Tuner tuner;	DvdPlayer dvd;	CdPlayer cd;	Projector projector;	TheaterLights lights;	Screen screen;	PopcornPopper popper; 	public HomeTheaterFacade(Amplifier amp, 				 Tuner tuner, 				 DvdPlayer dvd, 				 CdPlayer cd, 				 Projector projector, 				 Screen screen,				 TheaterLights lights,				 PopcornPopper popper) { 		this.amp = amp;		this.tuner = tuner;		this.dvd = dvd;		this.cd = cd;		this.projector = projector;		this.screen = screen;		this.lights = lights;		this.popper = popper;	} 	public void watchMovie(String movie) {		System.out.println("Get ready to watch a movie...");		popper.on();		popper.pop();		lights.dim(10);		screen.down();		projector.on();		projector.wideScreenMode();		amp.on();		amp.setDvd(dvd);		amp.setSurroundSound();		amp.setVolume(5);		dvd.on();		dvd.play(movie);	}  	public void endMovie() {		System.out.println("Shutting movie theater down...");		popper.off();		lights.on();		screen.up();		projector.off();		amp.off();		dvd.stop();		dvd.eject();		dvd.off();	}	public void listenToCd(String cdTitle) {		System.out.println("Get ready for an audiopile experence...");		lights.on();		amp.on();		amp.setVolume(5);		amp.setCd(cd);		amp.setStereoSound();		cd.on();		cd.play(cdTitle);	}	public void endCd() {		System.out.println("Shutting down CD...");		amp.off();		amp.setCd(cd);		cd.eject();		cd.off();	}	public void listenToRadio(double frequency) {		System.out.println("Tuning in the airwaves...");		tuner.on();		tuner.setFrequency(frequency);		amp.on();		amp.setVolume(5);		amp.setTuner(tuner);	}	public void endRadio() {		System.out.println("Shutting down the tuner...");		tuner.off();		amp.off();	}}

⌨️ 快捷键说明

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