一、适配器模式有两种:对象适配器和类适配器,如图:
二、对象的适配器:
例子1:把InputStream适配成Reader,如图
例子2:同理,可以把OutputStream适配成Writer。图略。
例子一:IO类库。
说明:java中的IO类库有数量繁多的类。但其中使用的基本模式是装饰者模式和适配器模式,而且两者配合使用,使用的非常巧妙。java的IO类库可以处理两种类型的数据,一种是字节数据(基类是InputStream和OutputStream)。另外一个是字符(char)数据(Reader和Writer)。InputStreamReader和OutputStreamWriter分别是两个适配器,用来把对字节的处理适配(封装)成对char或者文本的处理。这就是为什么我们读取文本的时候用Reader比较方便,因为其中封装了很多方便操作文本的函数,如ReadLine函数。