装饰者设计模式的步骤:
1,在装饰类的内部维护一个被装饰类的引用;
2,让装饰类有一个共同的父类或者是父接口;
例如:实现一个带行号的缓冲输入字符流
1. class BufferedLineNum{ //不继承父类也可以进行对readline()方法的扩充 2. BufferedReader bufferedReader;
public BufferedLineNum(BufferedReader bufferedReader){
this.bufferedReader=bufferedReader;
} public String readeLine()throws IOExcetion{
String line=bufferedReader.readLine();
if(line==null){return nll;}
int count=1;
line=count+""+line;
return line } }