`

IO流 装饰设计模式的使用

 
阅读更多

 

 

看代码的注释部分:

 

 

1 声音类:

public class Voice {
	private int voice =10;
	public Voice() {
		// TODO Auto-generated constructor stub
	}
	public int getVoice() {
		return voice;
	}
	public void setVoice(int voice) {
		this.voice = voice;
	}
	
	public void say(){
		System.out.println(voice);
	}
	
}


2 扩音器类:

/**
 * 扩音器
 * 设计模式: 玩的就是类与类之间的关系, 如下的扩音器类就是装饰设计模式,而 处理流就是包装下节点流BufferedInputStream(InputStream),包装时使用的就是装饰设计模式
 * 1、依赖:形参|局部变量 (依赖,就是用的时候需要下,比如人在干活的时候需要一个斧头或一个锤子,那这就是依赖,用的时候去找)
 * 2、关联:属性 (关联,就是连接在了一起,可以理解为 人和手,是连接在一起的,这就是关联)
 * 		聚合:属性 整体与部分 不一致的生命周期 人与手
 *      组合:属性 整体与部分 一致的生命周期  人与大脑
 * 3、继承:父子类关系
 * 4、实现: 接口与实现类关系
 * 
 * 
 * 
 * 
 * @author Administrator
 *
 */
public class Amplifier {
	private Voice voice;
	public Amplifier() {
	}
	public Amplifier(Voice voice) {
		super();
		this.voice = voice;
	}
	
	public void say(){ // 对节点流的发出声音方法进行包装 
		System.out.println(voice.getVoice()*1000);
	}
}



3 使用类:

	public static void main(String[] args) {
		Voice v =new Voice();
		v.say();
		Amplifier am =new Amplifier(v);
		am.say();
		
	}

 

分享到:
评论

相关推荐

    IO流所涉及到的Decorator设计模式

    在Java编程语言中,IO流(Input/Output Stream)是处理数据输入和输出的主要机制,而Decorator设计模式是一种结构型设计模式,它允许我们在运行时动态地给对象添加新的行为或责任。这两种概念的结合使得Java IO系统...

    IO流pdf宝典

    2. **装饰模式**:是一种设计模式,用于在不改变对象结构的情况下动态地增加其职责。装饰模式通过包装原有对象来实现功能的增强,而非通过继承。 #### 结论 通过对以上知识点的学习,我们可以了解到JAVA IO流在...

    Java IO 与 装饰模式

    而装饰模式是一种结构型设计模式,它允许在不修改已有对象的基础上,通过添加新的行为或职责来扩展对象的功能。在Java IO系统中,装饰模式被广泛应用于构建灵活且可扩展的输入输出流体系。 1. Java IO体系结构: ...

    《JAVA_IO流学习总结》

    Java IO流的设计采用了装饰者模式,形成了丰富的层次结构。通过组合不同的装饰流,可以实现各种复杂的数据处理需求,如转换编码、压缩、加密等。 三、管道流和缓冲流 - PipedInputStream和PipedOutputStream允许在...

    java io流PPT课件.pptx

    Java的I/O设计遵循了一种称为“装饰者模式”的组织模式,允许在不改变原有类的基础上增加新的功能。 在进行I/O操作时,一般需要以下步骤: 1. 创建一个与特定介质(如文件、网络连接等)相关的输入/输出对象。 2. ...

    04IO设计模式.zip

    "04IO设计模式.zip"这个压缩包包含了一个名为"IO设计模式了解.flv"的视频文件,很可能是对I/O设计模式的讲解或演示。虽然没有具体的标签信息,但我们可以根据I/O设计模式的主题来展开讨论。 首先,I/O设计模式是...

    Java_IO流详解

    Java的IO流设计非常优雅,采用了装饰者模式(Decorator Pattern),允许用户动态地组合不同的流,以实现所需的功能。例如,结合使用`FileInputStream`和`BufferedInputStream`可以获得一个具有缓冲功能的文件输入流...

    IO流体系继承结构图_动力节点Java学院整理

    Java的IO流体系是Java平台的核心...总之,Java的IO流体系通过其对称性质和装饰器模式,提供了灵活且强大的数据输入输出解决方案。理解这个体系结构,可以帮助开发者更好地利用Java进行文件操作、网络通信以及数据处理。

    IO流的总结

    装饰设计模式是一种结构型设计模式,它允许向对象动态地添加新的功能而不改变其结构。在I/O流中,装饰模式常用于为现有的流添加额外的功能,如缓冲、编码转换等。 - **示例**:通过装饰设计模式,可以在不修改原始...

    JAVA IO流详解

    - **装饰器模式**:Java IO流的设计采用了装饰器模式,使得可以通过组合不同的流来构建具有复杂功能的流。例如,可以通过组合`FileInputStream`和`BufferedInputStream`来创建一个带缓冲功能的文件输入流。 #### 三...

    JAVA IO流学习文档

    - **装饰模式**:是一种设计模式,可以在不改变原有类结构的情况下为其添加新的功能。与继承不同,装饰模式通过组合实现,可以动态地给一个对象添加职责。 #### 八、其他常用与流相关的对象 - **File**: 文件类,...

    java Io流总结(毕向东)

    ### Java IO流总结 #### 一、Java IO流概述...通过以上分析可以看出,《Java Io流总结》不仅详细介绍了Java IO流的各种概念和使用技巧,还涉及了一些设计模式的基础知识,对于初学者来说是一份非常有价值的参考资料。

    JavaIO流所有代码

    在Java中,IO流被设计为对象,使得开发者可以方便地实现数据的读取、写入、复制和转换。以下是对Java IO流的详细解释: 1. **流的概念**: 流是数据的序列,可以是字节流或字符流。Java中的IO流分为输入流...

    超详细资源JAVA中的IO流

    节点流和处理流应用了Java的装饰者设计模式。 序列化 序列化是Java中的一个重要概念,它是指将对象转换为字节流的过程。序列化的目的是为了在不同的平台之间进行数据交换。Java中实现序列化可以使用Serializable...

    java 的IO流操作

    在Java中,IO流被设计为处理各种数据源和目的地,包括文件、网络连接、内存缓冲区等。IO流分为两大类:输入流(Input Stream)用于读取数据,输出流(Output Stream)用于写入数据。这两类流又根据处理的数据类型...

    java io流学习笔记1

    Java IO流是Java平台中...总结,Java IO流是Java平台中处理输入输出的基础,其丰富的类库和设计模式为开发者提供了灵活、高效的数据传输手段。通过深入理解和熟练运用这些知识点,能够更好地应对各种IO相关的编程挑战。

    Java IO流.docx

    处理流遵循装饰者设计模式,不改变原有接口,增加新的功能。例如,`BufferedReader`和`BufferedWriter`增加了缓冲功能,可以一次性处理更多数据,提高效率。 6. **常用流的分类** 常见的流类可以按照它们的抽象...

    Java_IO流详解归纳.pdf

    Java的IO体系设计独特,使用了装饰器模式,允许开发者动态地组合不同的流,以实现特定的功能。流的概念是指数据从源到目的地的有序传输,可以是字节流(InputStream和OutputStream家族)或字符流(Reader和Writer...

    java高级特性 - io流笔记

    Java IO流采用装饰器模式,如BufferedInputStream是在InputStream的基础上增加缓冲功能,FilterInputStream则是一个通用的装饰类。这使得我们可以动态地为流添加新功能,而不改变原有流的结构。 5. **转换流** `...

Global site tag (gtag.js) - Google Analytics