您的位置:首页 > 编程语言 > Java开发

关于装饰设计模式的总结

2015-05-20 12:20 375 查看
 

1、概述

对已有的对象进行功能增强时,可以定义类,将已有对象传入,基于已有的功能,并提供加强功能,那么自定义的该类称为装饰类。

装饰类通常会通过构造方法接收被装饰的对象,并基于被装饰的对象的功能提供更强的功能。

装饰类因为增强已有对象,具备的功能和已有的是相同的,只不过提供了更强功能,所以装饰类和被装饰类通常是属于一个体系中。

2、装饰设计模式和继承的区别

装饰设计模式比继承更灵活,避免了继承体系臃肿,而且降低了类与类之间的关系。

3、装饰类实例:带行号的缓冲区

代码实现:

import java.io.*;
public class MyBufferedReader {

//定义读取文件对象
private FileReader r;

//重定义构造函数,传入对象
public MyBufferedReader(FileReader r) {
this.r=r;
}
//自定义读取一行的方法
public String myReadLine()throws IOException
{
StringBuilder sb=new StringBuilder();
int ch=0;
while((ch=r.read())!=-1)
{
if(ch=='\r')continue;
if(ch=='\n')return sb.toString();
else
sb.append((char)ch);
}
if(sb.length()!=0)
return sb.toString();
return null;
}
//自定义关闭资源
public void myClose()throws IOException
{
r.close();
}
}


 

 

 

 

 

 

 

 

 

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息