`
543089122
  • 浏览: 149866 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

java io流之 装饰模式

    博客分类:
  • java
 
阅读更多

初学java.io的时候容易被众多的IO类搞晕头,其实java.io还是很容易理解的,主要就是通过装饰模式来进行功能的扩充。
扩充基类的功能,一般我们都是通过继承来解决的,但是继承会造成类的膨胀,而使用装饰模式就不会。其实装饰模式就是在扩展类里面搞了个被扩展类的引用而已。
package design.decorator;

/**
 * “装饰模式(Decorator)”又名“包装模式(Wrapper)”,通常用来灵活地扩充对象的功能。
 * 在此之前我们可以通过类的继承来扩充父类的功能,但这种继承方式缺乏灵活性
 * ,并且会导到子类数量的快速膨胀。恰当地使用装饰模式我们会轻松实现在控制子类数量的基础上,灵活地实现对象功能的扩展。装饰模式比类的继承更灵活。
 */
public class Test {
	public static void main(String[] args) {
		FileInputStream in = new FileInputStream(new InputStream());
		in.read();
	}
}

class InputStream {
	public void read() {
		System.out.println("InputStream.read");
	}
}

class FileInputStream extends InputStream {
	protected InputStream in;

	public FileInputStream(InputStream in) {
		super();
		this.in = in;
	}

	public void read() {
		//文件流可以对基本的流进行包装一下
		in.read();
		System.out.println("FileInputStream.read");
	}
}

分享到:
评论

相关推荐

    Java IO 与 装饰模式

    NULL 博文链接:https://lin252840.iteye.com/blog/546327

    java装饰模式

    该文档描述了java装饰模式,装饰模式是javaIO流底层所采用的设计模式。

    javaIO读书笔记

    IO系统解构有装饰者设计模式息息相关,所以先从分析它们的关系:

    Java之IO流学习总结

    Java IO流学习总结 Java流操作有关的类或接口: Java流类图结构: 流的概念和作用 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据...

    java IO 流

    java IO 流全面总结 InputStream输入流继承关系: 采用了装饰器模式。

    java io 详解

    java io 详解 inputstream outputstream 装饰模式

    50丨装饰器模式:通过剖析JavaIO类库源码学习装饰器模式1

    这也是我们在第 10 节中讲的不推荐使用继承的原因。基于装饰器模式的设计方案在第 10 节中,我们还讲到“组合优于继承”,可以“使用组合来替代继承”。针对刚刚的

    Java设计模式之装饰器模式.docx

    实际上Java提供的工具包中,IO相关工具就普遍大量使用了装饰器模式,例如充当装饰功能的IO类如BufferedInputStream等,又被称为高级流,通常将基本流作为高级流构造器的参数传入,将其作为高级流的一个关联对象,...

    JavaSE_4_JavaIO操作_2

    内存操作流,System对IO流的支持,缓冲区读取,Scanner类,字符编码问题,装饰着模式Decorator

    Java基础知识点总结.docx

    装饰器模式★★★★★ 196 外观模式 201 享元模式 204 代理模式★★★★★ 208 责任链模式 212 命令模式 216 解释器模式 219 迭代器模式 222 中介者模式 224 备忘录模式 226 观察者模式 230 状态模式 233 空对象模式...

    Java IO文件过滤器对命令设计模式的使用

    java io流里面使用到了很多的设计模式,最典型的就是装饰模式,还有命令模式,下面分两部分来讲Java IO文件过滤器对命令设计模式的使用,一起看看吧

    黑马程序员:java基础之装饰设计模式

     下面是装饰设计模式的一个例子,自己写的MyBufferedReader,并提供了myReadLine方法,IO包中类BufferedReader采用原理也是类似的。 /* 装饰设计模式:MyBufferedReader */ importjava.io.*; ...

    IO输入输出体系.rar

    io流简介 File类 createNewFile() File.pathSwparator 与系统有关的路径分隔符,它被表示为一个字符串 windows为 分号";" File.pathSwparatorChar 与系统有关的路径分割符,它被表示为一个字符 File.separator 与...

    Java基础最全笔记文档

    Java基础笔记分为 Java基础篇 和 Java加强篇 Java基础篇包括: 1. Java环境搭建、Java快速入门、IDEA开发工具 2. Java基础语法、类型转换、运算符、Scanner 3. 分支结构、循环结构...14. XML、解析、工厂模式和装饰模式

    java se和java ee基础功能点开发测试包

    该包围绕java se结合java ee的基础应用对目前最基础最常见的应用分别给以做了相关demo 具体包括有设计模式demo(设配模式、装饰模式、享元模式)、线程池设计方案、集合类容器demo、io流、Cloneable接口、自定义标签...

    java进阶13天资料.zip

    Java进阶13天资料 day01-复习回顾、静态、继承、引用类型使用 day02-抽象类、接口、代码块,final、单例、枚举 day03-多态、包、权限修饰符、内部类...day13-XML和Dom4j,装饰模式,工厂模式,commons-io工具包,Base64

    java高级+struts2总结

    IO流高级 设计模式 多线程 网络编程 struts2 注解 反射 MVC+Log4 资源文件 泛型 观察者模式 装饰模式

    【白雪红叶】JAVA学习技术栈梳理思维导图.xmind

    装饰模式 外观模式 享元模式 代理模式 创建模式 抽象工厂模式 工厂方法模式 建造这模式 原型模式 单例模式 行为模式 责任链模式 命令模式 解释器模式 迭代器模式 中介者模式 备忘录模式 观察者...

    java面试题库2021.pdf

    目录 一、 JavaSE 部分 1、 Java 基础 ①Java 基础部分(基本语法, Java ...②装饰模式 ③适配器模式 2、 创建型模式 ①单例模式 3、 行为型模式 ①策略模式 ②观察者模式 4、 所有模式汇总 十、 场景题 十一、 UML

Global site tag (gtag.js) - Google Analytics