A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© wyw 中级黑马   /  2015-4-18 23:51  /  952 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

|----缓冲区的出现提高了对数据的读写效率。
         因此在创建缓冲区之前,必须要先有流对象。
         缓冲区中提供了一个跨平台的方法,newLine();换行。
|----对应类
         |----BufferedWriter
         |----BufferedReader
         字符读取流缓冲区提供了一个一次读一行的方法readLine,方便于对文本数据的获取
    当返回null时,表示读到文件末尾。
装饰设计模式:
当想要对已有的对象进行功能增强时,可以定义类,将已有对象传入,基于已有对象的功能,并提供加强功能。那么自定义的类就称为装饰类。如:BufferedReader中的readLine。
装饰类通常会通过构造方法接收被装饰的对象,并基于被装饰对象的功能,提供更强的功能。
MyReader:专门用于读取数据的类
    |----MyTextReader
    |----MyBufferedTextReader
|----MyMediaReader
    |----MyBufferedMediaReader
|----MyDataReader
    |----MyBufferedDataReader
每个子类都需要重新定义Buffered类,这样就需要对这些缓冲技术进行优化。
class  MyBufferedReader
{
         MyBufferedReader(MyTextReader text)
         {}
MyBufferedReader(MyMediaReader media)
         {}
}
又发现这个类的扩展性也很不好,那么我们就找到它参数的共同类型,通过多态的形式,能够提高扩展性。
class  MyBufferedReader  extends MyReader
{
         private  MyReader r;
MyBufferedReader(MyReader r)
         {}
}
这就是装饰模式。装饰模式比继承更灵活,避免了继承体系的臃肿,降低了类与类之间的关系。装饰类因为增强已有对象的功能,具备的功能和已有的是相同的,只不过是提供了更强大的功能,所以装饰类和被装饰类通常是属于一个体系中的。
通过优化后的体系:
MyReader
    |----MyTextReader
|----MyMediaReader
|----MyDataReader
|----MyBufferedReader
字符流:
|----FileReader
|----FileWriter
|----BufferedReader
|----BufferedWriter
字节流:
    InputStream    outputStream

6 个回复

倒序浏览
Imtonoo 发表于 2015-4-19 01:42
这种笔记好干啊,没实质性的内容

实质性内容?什么意思?我这笔记只记了结构框架,大神有什么好的建议?
回复 使用道具 举报
学习了,,,,,
回复 使用道具 举报
Imtonoo 发表于 2015-4-19 09:58
这种东西记下来,当你需要回来看看的时候发现真的不好使,你需要一个例子来提醒自己怎么使用,纯框架的内 ...

哦哦,你说练习吖,那个在eclipse里面呢。每个笔记都有对应的例子的。
回复 使用道具 举报
挺好的,加油。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马