IO学习(十六)装饰设计模式

在IO学习中,经常会用到处理流,而处理流实际上就是对节点流的装饰,是对原有流的性能的提升

这里就使用到了装饰设计模式


举个简单例子帮助理解

假设这里有个类Voice,但是声音很低,不至于让全场的人听到,那么我们再写一个类MaxVoice扩音器

将Voice类的声音扩大,这样两个类就联系到一起了,而MaxVoice类就起到了装饰Voice的作用,

增强了Voice类的功能


看看代码实现,Voice就不写了,为简单起见,Voice类中只有一个sound属性,并且有getset方法

public class MaxVoice{
	private Voice voice;

	public MaxVoice(Voice voice){
		this->voice=voice;
	}

	public void setHighVoice(){
		voice.getSound()*1000;
	}
}





简单看看类与类之间的关系

1.依赖:形参 局部变量,在调用方法的时候才会依赖这个类

2.关联:属性关联,根据关联的强度可以分为聚合和组合两种关联方式

聚合:整体与部分,不一致的生命周期

组合:整体与部分,一致的生命周期

3.继承:父类与子类

4.实现:接口和实现类


你可能感兴趣的:(IO学习(十六)装饰设计模式)