关于装饰设计模式的总结

来源:互联网 发布:网络链路冗余技术 编辑:程序博客网 时间:2024/06/06 03:10


 


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();elsesb.append((char)ch);}if(sb.length()!=0)return sb.toString();return null;}//自定义关闭资源public void myClose()throws IOException{r.close();}}


 


 

 

 

 

 

 

 

 

 

 

0 0
原创粉丝点击