java模式设计之装饰器模式
来源:互联网 发布:网络诈骗转账图片大全 编辑:程序博客网 时间:2024/06/07 00:13
装饰器模式:
使用分层对象来动态透明的向单个对象中添加责任(功能)。
装饰器指定包装在最初的对象周围的所有对象都具有相同的基本接口。
某些对象是可装饰的,可以通过将其他类包装在这个可装饰对象的四周,来将功能分层。
装饰器必须具有和他所装饰的对象相同的接口。
JavaIO中的应用:
Java I/O类库需要多种不同的功能组合,所以使用了装饰器模式。
FilterXxx类是JavaIO提供的装饰器基类,即我们要想实现一个新的装饰器,就要继承这些类。
package file;import java.io.BufferedReader;import java.io.FileReader;import java.io.IOException;import java.io.Reader;//装饰者模式class Mylinebufferreader extends BufferedReader{private BufferedReader bufferedreader;int count = 0;public Mylinebufferreader(BufferedReader bufferedreader ) {super(bufferedreader);this.bufferedreader = bufferedreader;// TODO Auto-generated constructor stub}public String readLine() throws IOException{String line = bufferedreader.readLine();if(line!= null){count++;return count+" "+line;}else{return null;}}}class MyQutoBufferedReader extends BufferedReader{private BufferedReader bufferedreader;public MyQutoBufferedReader(BufferedReader bufferedreader) {super(bufferedreader);this.bufferedreader = bufferedreader;// TODO Auto-generated constructor stub}public String readLine() throws IOException{String line = bufferedreader.readLine();if (line != null) {return line+";";} else {return null;}}}public class Demo08 {public static void main(String[] args) throws IOException {myread();}public static void myread() throws IOException{Readerreader = new FileReader("D://demo.java");BufferedReader bufferedreader = new BufferedReader(reader);BufferedReader br = new Mylinebufferreader(bufferedreader);br= new MyQutoBufferedReader(br);String line = null;while((line = br.readLine())!=null){System.out.println(line);}}}
阅读全文
0 0
- Java设计模式之装饰器模式
- java设计模式之装饰器模式
- Java设计模式之装饰器模式
- Java设计模式之装饰器模式
- java设计模式之装饰器模式
- java模式设计之装饰器模式
- java设计模式之装饰器模式
- java设计模式之装饰器模式
- Java设计模式之装饰器模式
- Java设计模式之装饰器模式
- java设计模式之装饰模式(装饰器模式/装饰者模式)
- Java设计模式之装饰设计模式
- Java之装饰设计模式
- java设计模式之装饰
- Java设计模式之装饰模式
- Java设计模式之装饰模式
- java设计模式之装饰模式
- Java设计模式之二装饰模式
- OpenBSD新版将增加KARL功能:重启换内核
- 字符切变校正
- Hibernate学习之---深入Hibernate映射
- linux 查看硬盘信息
- HDU
- java模式设计之装饰器模式
- JDBC——preparestatement
- 01分数规划入门 poj 2976, 2728, 3621
- 抽象类型type的使用
- python基础(五)循环
- python中迭代器的应用场景
- 从0到100——知乎架构变迁史
- SSM+Ajax+maven+拦截器实现登录功能
- Google着手与 Open AI 合作预防人工智能暴走