在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.实现:接口和实现类