IO流核心思想,底层设计模式
IO流核心思想
我们来了解两个概念
节点流,处理流/包装流
节点流:指的是针对于特定数据源去操作的流,他是可以直接和数据接触的,但是功能单一,效率底下。
包装流:指的是针对于节点流包装了一层,这样会功能多元化,效率非常高。
IO流的设计模式/修饰器模式
1,创建一个抽象的父类,提供一个抽象方法
2,创建实现类去实现这个抽象方法
3,最重要的,在创建一个实现类但是里面的字段要有一个抽象的父类,构造器里面提供一个带抽象父类的构造器OK了。
上代码!
创建一个抽象的父类
class abstract Fu{ public abstract void a(); }
创建两个实现类去实现抽象方法
class Zi1 implements Fu{ public abstract void a(){ sout.Zi类1 } }
class Zi2 implements Fu{ public abstract void a(){ sout.Zi类2 } }
创建一个包装类,去实现父类并且添加父类的字段和构造器
class Baoz implements Fu{ Fu fu; public Baoz(Fu fu){ this.fu = fu; } public abstract void a(){ sout.包装类里面的方法 } }
测试
class Dome { public static void main(String[] args){ //这里你要去操作那两个实现子类的方法,你可以让这个包装去调用 Baoz b1 = new Baoz(new Zi1); Baoz b2 = new Baoz(new Zi2); b1.a(); b2.a(); //有没有分享都在包装类在调用,这就是修饰器模式 正在在干活的是里面的Zi类 } }
ps:关闭流的时候关闭包装流即可。
#设计模式#