Java FilterInputStream是一个InputStream,具有一个InputStream
我正在阅读Java I/O库的源代码,注意到Java FilterInputStream是一个InputStream,具有一个InputStream,java,libraries,java-io,filter-input,Java,Libraries,Java Io,Filter Input,我正在阅读Java I/O库的源代码,注意到FilterStream扩展了支持继承的抽象类InputStream,并且有一个InputStream作为支持组合的实例变量。为什么我们需要一个IS-a和一个has-a关系同时与InputStream?FilterInputStream“是一个”输入流,用于添加或修改需要传入的现有输入流的行为。例如,它的子类BufferedInputStream添加了一个缓冲功能。由于FilterInputStream需要保留传入的流,因此还存在“has a”关系 F
FilterStream
扩展了支持继承的抽象类InputStream
,并且有一个InputStream
作为支持组合的实例变量。为什么我们需要一个IS-a和一个has-a关系同时与InputStream
?FilterInputStream
“是一个”输入流,用于添加或修改需要传入的现有输入流的行为。例如,它的子类BufferedInputStream
添加了一个缓冲功能。由于FilterInputStream
需要保留传入的流,因此还存在“has a”关系
FilterInputStream
是装饰器模式的一个示例:FilterInputStream
是一个“输入流”,用于添加或修改需要传入的现有输入流的行为。例如,它的子类BufferedInputStream
添加了一个缓冲功能。由于FilterInputStream
需要保留传入的流,因此还存在“has a”关系
FilterInputStream
是decorator模式的一个示例:它是的一个实现。您将在java.io
包中看到该模式。它是。您将在java.io
包中看到整个模式。