黑马程序员技术交流社区

标题: 构造函数传进的参数是对象----还就是对象装饰--即装饰类 [打印本页]

作者: yuchunfeng1221    时间: 2013-9-21 01:13
标题: 构造函数传进的参数是对象----还就是对象装饰--即装饰类
装饰模式是在不必改变原类文件和使用继承的情况下,动态的扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。
InputStream 和 装饰者模式


   众人皆知java的输入输出包"java.io"是一个装饰者模式的典型案例,这从下面这个代码就可以大致看出:


  
Java代码  [url=][/url]





   但具体是怎样子的还是需要查看JDK源代码:


1.  java.io.InputStream  == 装饰者模式中的所有类(装饰者和被装饰者)的抽象超类

Java代码  [url=][/url]






   
2.java.io.FileInputStream == 具体的被装饰者对象

Java代码  [url=][/url]





   
3.java.io.FilterInputStream == 装饰者对象的超类

  
Java代码  [url=][/url]





   
4.java.io.BufferedInputStream == 具体的装饰者对象

Java代码  [url=][/url]






作者: 常在河边走_    时间: 2013-9-21 01:19
强力支持




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2