装饰者模式 :在IO流那块有很多就是装饰流,可以直接通过增强对象来增强
用代码简单实现 例如:
interface A{
int add(int x,int y);
}
class b implements A{
public int add(int x, int y) {
// TODO Auto-generated method stub
return x+y;
}
}
class c extends b{
private b b1;
//指定增强对象
public c(b b1) {
this.b1=b1;
}
@Override
public int add(int x, int y) {
return b1.add(x, y)+1;//在这儿还是由对象调用它本身的方法来增强
}
}
上面的代码很明确的表示了,装饰者模式的好处,不用知道增强对象是怎么产生,直接增强很方便
继承:
不可改变增强对象。不可改变增强方法
装饰者:
可改变增强对象,不可改变增强方法。