`
哈达f
  • 浏览: 120892 次
  • 性别: Icon_minigender_1
  • 来自: 广西
社区版块
存档分类
最新评论

装饰者模式示例,BufferedReader,BufferedWriter

    博客分类:
  • j2se
阅读更多
class Person
{
	void chifan()
	{
		System.out.println("chifan");
	}
}

class SuperPerson 
{
	private Person p;
	SuperPerson(Person p)
	{
		this.p = p;
	}
	public void superChifan()
	{
		System.out.println("开胃酒");
		p.chifan();
		System.out.println("甜点");
		System.out.println("来一根");


	}
}


/*
装饰设计模式:
可以对原有对象的功能进行增强。
只要将原有对象作为参数传递给装饰类的构造函数即可。
对外提供增强方法。


通过以前所学,继承一样可以解决这个问题。
那么装饰和继承有什么区别?

继承方式增强每一个子类对象。
Writer
	|--FileWriter
		|--BufferedFileWriter。

	|--MediaWriter
		|--BufferedMediaWriter

	|--DataWriter
		|--BufferedDataWriter


这样的设计可以完成基本需求,但是导致了继承体系的臃肿,而且子类功能的重复。


--------

class BufferedWriter
{
	char[]
	BufferedWriter(FileWriter w)
	{
	
	}
	BufferedWriter(MediaWriter w)
	{
	
	}
	BufferedWriter(DataWriter w)
	{
	
	}
	public void write()
	{
		
	}

}

class BufferedWriter extends Writer
{
	BufferedWriter(Writer w)
	{
		
	}
	public void write()
	{
		
	}
}


Writer
	|--FileWriter

	|--MediaWriter

	|--DataWriter
	
	|--BufferedWriter


*/

class  PersonDemo
{
	public static void main(String[] args) 
	{
		Person p = new Person();
		p.chifan();
		//SuperPerson sp = new SuperPerson(p);
		//sp.superChifan();
	}
}

 

分享到:
评论

相关推荐

    文件读写 BufferedReader BufferedWriter 示例 去除代码后面多余空格

    文件读写 BufferedReader BufferedWriter 去除代码后面空格 简单 readLine newLine flush

    Java中BufferedReader与BufferedWriter类的使用示例

    在Java编程语言中,`BufferedReader`和`BufferedWriter`是两个非常重要的类,它们分别位于`java.io`包中,用于提高字符输入和输出的效率。这两个类继承自抽象基类`Reader`和`Writer`,为读写操作提供了缓冲区功能。 ...

    自己做的一套java示例工程 非常实用

    JavaDemo可能展示了如何使用FileInputStream、FileOutputStream、BufferedReader、BufferedWriter等类进行文件操作,以及使用InputStreamReader、OutputStreamWriter进行字符流转换。 5. **多线程**:Java提供了...

    精典java程序示例

    5. **输入/输出(I/O)**:Java的I/O流用于读取和写入数据,如FileReader、FileWriter、BufferedReader、BufferedWriter等。示例将演示如何读写文件,以及如何进行网络通信。 6. **多线程**:Java内置了对多线程的...

    java-io-decorator.pdf

    5. BufferedReader、BufferedWriter、FileReader、FileWriter等类:这些类分别对Reader和Writer接口进行了具体的实现,并且同样利用了装饰器模式。 装饰器模式的优点包括: - 扩展功能的灵活性。可以方便地为对象...

    Java与模式(含源码)

    Java的IO流类库广泛使用了装饰器模式,如`BufferedReader`和`BufferedWriter`。 6. **代理模式**:为其他对象提供一种代理以控制对该对象的访问。在Java中,静态代理和动态代理(`java.lang.reflect.Proxy`)都是...

    Java编程示例

    6. 输入输出流:如FileReader、FileWriter、BufferedReader、BufferedWriter等,用于读写文件。 7. 多线程:创建Thread对象,实现Runnable接口,理解同步和互斥的概念。 8. 文件和目录操作:如File类的使用,创建、...

    2020版Java设计模式 10 道.pdf

    - 装饰模式(Decorator pattern):动态地给对象添加新的行为或责任,如Java IO中的`BufferedReader`和`BufferedWriter`。 2. **设计模式的含义**: 设计模式是对在软件设计过程中遇到的常见问题的解决方案,是可...

    Java读写文本文件的示例代码.rar

    除了使用`BufferedReader`和`BufferedWriter`,Java 7引入了try-with-resources语句,这是一种更简洁且安全的资源管理方式,可以自动关闭流。以下是使用try-with-resources的示例: ```java import java.io....

    Java与模式 源代码

    在Java IO流中,BufferedReader和BufferedWriter就是装饰器模式的典型应用。 5. **适配器模式**:将一个类的接口转换成客户希望的另一个接口。Java的Adapter类可以用来兼容不兼容的接口。 6. **代理模式**:为其他...

    Java读写文本文件的示例代码

    以下是一份详细的Java读写文本文件的示例代码,以及相关的知识点讲解。 首先,让我们理解读取文本文件的基本步骤: 1. **打开文件**:使用`java.io.File`类创建一个表示文件的对象。例如: ```java File file = ...

    基于Java的实例源码-读写文本文件的示例代码.zip

    以及BufferedReader和BufferedWriter,这两个类提供了缓冲功能,可以提高读写性能。 2. **读取文本文件**: 使用FileReader和BufferedReader组合来读取文本文件。首先创建一个FileReader对象,然后用它初始化...

    文件流的读取与写入

    "文件流的读取与写入"这个主题主要涵盖了如何使用Java中的BufferedReader和BufferedWriter类来高效地处理文件内容。这两个类属于Java.io包,它们提供了缓冲功能,可以提高文件操作的性能。 BufferedReader是用于...

    设计模式面试专题.pdf

    Java的`BufferedReader`和`BufferedWriter`是装饰`Reader`和`Writer`的例子。 5. **使用工厂模式的好处**:增加了对象创建的封装性,允许替换或扩展产品实现,提高了系统的可扩展性和可维护性。 6. **静态方法与非...

    Java基础类用法示例程序

    Java I/O系统包括流的概念,如FileInputStream, FileOutputStream, BufferedReader, BufferedWriter等。示例将演示读写文件,处理网络数据,以及使用对象序列化等。 6. **集合框架**: Java集合框架包括List, Set...

    JAVA沈伟老师上课全代码与示例

    学习如何使用FileInputStream、FileOutputStream、BufferedReader、BufferedWriter等类进行文件操作,以及使用InputStreamReader、OutputStreamWriter进行字符流转换。 6. **多线程**:Java提供了内置的多线程支持...

    Java 2实用教程第5版全部课件与示例代码

    示例代码会展示如何使用FileInputStream、FileOutputStream、BufferedReader、BufferedWriter等类进行文件读写。 7. **网络编程**:Java的Socket编程接口允许开发网络应用程序,如客户端和服务器端的通信。通过示例...

    基于Java的读写文本文件的示例代码.zip

    它们没有缓冲区,因此通常与`BufferedReader`和`BufferedWriter`一起使用,以提高性能。 6. **FileInputStream和FileOutputStream**: 这两个类是字节流,用于直接读写文件的字节数据。`FileInputStream`从文件...

    java源码:Java读写文本文件的示例代码.zip

    总结,Java通过`BufferedReader`、`BufferedWriter`、`PrintWriter`和`Scanner`等类提供了丰富的API来读写文本文件。理解这些基本操作对于任何Java开发者来说都是至关重要的,它们构成了处理文件的基础。通过结合...

Global site tag (gtag.js) - Google Analytics