IO流 装饰设计模式的使用

看代码的注释部分:

1 声音类:

public class Voice {
	private int voice =10;
	public Voice() {
		// TODO Auto-generated constructor stub
	}
	public int getVoice() {
		return voice;
	}
	public void setVoice(int voice) {
		this.voice = voice;
	}
	
	public void say(){
		System.out.println(voice);
	}
	
}


2 扩音器类:

/**
 * 扩音器
 * 设计模式: 玩的就是类与类之间的关系, 如下的扩音器类就是装饰设计模式,而 处理流就是包装下节点流BufferedInputStream(InputStream),包装时使用的就是装饰设计模式
 * 1、依赖:形参|局部变量 (依赖,就是用的时候需要下,比如人在干活的时候需要一个斧头或一个锤子,那这就是依赖,用的时候去找)
 * 2、关联:属性 (关联,就是连接在了一起,可以理解为 人和手,是连接在一起的,这就是关联)
 * 		聚合:属性 整体与部分 不一致的生命周期 人与手
 *      组合:属性 整体与部分 一致的生命周期  人与大脑
 * 3、继承:父子类关系
 * 4、实现: 接口与实现类关系
 * 
 * 
 * 
 * 
 * @author Administrator
 *
 */
public class Amplifier {
	private Voice voice;
	public Amplifier() {
	}
	public Amplifier(Voice voice) {
		super();
		this.voice = voice;
	}
	
	public void say(){ // 对节点流的发出声音方法进行包装 
		System.out.println(voice.getVoice()*1000);
	}
}



3 使用类:

	public static void main(String[] args) {
		Voice v =new Voice();
		v.say();
		Amplifier am =new Amplifier(v);
		am.say();
		
	}

猜你喜欢

转载自chengjianxiaoxue.iteye.com/blog/2400885