当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:13:00  来源:本站整理

Java IO 包中的Decorator情势[Java编程]

赞助商链接



  本文“Java IO 包中的Decorator情势[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

JDK为程序员供应了大量的类库,而为了保持类库的可重用性,可扩大性和机动性,此中利用到了大量的计划情势,本文将介绍JDK的I/O包中利用到的Decorator情势,并应用此情势,实现一个新的输出流类.

Decorator情势简介

Decorator情势又名包装器(Wrapper),它的主要用处在于给一个对象动态的增添一些额外的职责.与生成子类相比,它更具有机动性.

有时刻,我们需求为一个对象而不是整个类增添一些新的功效,比方,给一个文本区增添一个转动条的功效.我们可以利用担当机制来实现这一功效,但是这种办法不够机动,我们无法掌握文本区加转动条的方法和机会.并且当文本区需求增添更多的功效时,比方边框等,需求成立新的类,而当需求组合利用这些功效时无疑将会惹起类的爆炸.

我们可以利用一种更为机动的办法,就是把文本区嵌入到转动条中.而这个转动条的类就相当于对文本区的一个装潢.这个装潢(转动条)必须与被装潢的组件(文本区)担当自同一个接口,这样,用户就没必要关心装潢的实现,因为这对他们来说是透明的.装潢会将用户的恳求转发给呼应的组件(即调用相关的办法),并大概在转发的前后做一些额外的行动(如增添转动条).通过这种办法,我们可以按照组合对文本区嵌套差别的装潢,从而增添肆意多的功效.这种动态的对对象增添功效的办法不会惹起类的爆炸,也具有了更多的机动性.

以上的办法就是Decorator情势,它通过给对象增添装潢来动态的增添新的功效.以下是Decorator情势的UML图:

Component为组件和装潢的大众父类,它定义了子类必须实现的办法.

ConcreteComponent是一个具体的组件类,可以通过给它增添装潢来增添新的功效.

Decorator是全部装潢的大众父类,它定义了全部装潢必须实现的办法,同时,它还保存了一个关于Component的引用,以便将用户的恳求转发给Component,并大概在转发恳求前后履行一些附加的行动.

ConcreteDecoratorA和ConcreteDecoratorB是具体的装潢,可以利用它们来装潢具体的Component.

Java IO包中的Decorator情势

JDK供应的java.io包中利用了Decorator情势来实现对各种输入输出流的封装.以下将以java.io.OutputStream及其子类为例,谈论一下Decorator情势在IO中的利用.

首先来看一段用来成立IO流的代码:

以下是代码片段:

try {
  OutputStream out = new DataOutputStream(new FileOutputStream("test.txt"));
} catch (FileNotFoundException e) {
  e.printStackTrace();
}


  以上是“Java IO 包中的Decorator情势[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • 利用Javascript实现网页水印(非图片水印)
  • Java开辟环境的搭建
  • Ubuntu java安装与配置
  • 办理Ubuntu 10.04 Firefox3.6 Java浏览器插件不工作的问
  • Ubuntu重装后Java环境的设置
  • Sun Java进入Ubuntu 10.10软件中央
  • Ubuntu 10.10配置Java开辟环境
  • 在Ubuntu 10.10中配置Java环境变量的办法
  • Ubuntu下Java环境的搭建
  • Ubuntu 10.04 下安装 Java, JRE
  • Ubuntu 10.04下的搭建SUN JAVA开辟环境
  • Ubuntu 12.04安装java7
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .