FilterInputStream IS-A InputStream 和 HAS-A InputStream
FilterInputStream IS-A InputStream and HAS-A InputStream
我正在阅读 Java I/O lib 的源代码并注意到 FilterStream
扩展了抽象 class InputStream
有利于继承并且还有一个InputStream
作为支持 composition.Why 的实例变量,我们是否需要同时与 InputStream
建立 IS-A 和 HAS-A 关系?
FilterInputStream
“是一个”输入流,添加或修改您需要传入的现有输入流的行为。例如,它的子类BufferedInputStream
添加了缓冲能力。由于FilterInputStream
需要持有你传入的流,所以也有一个“has a”的关系。
FilterInputStream
是 装饰器模式 的一个例子:https://en.wikipedia.org/wiki/Decorator_pattern
我正在阅读 Java I/O lib 的源代码并注意到 FilterStream
扩展了抽象 class InputStream
有利于继承并且还有一个InputStream
作为支持 composition.Why 的实例变量,我们是否需要同时与 InputStream
建立 IS-A 和 HAS-A 关系?
FilterInputStream
“是一个”输入流,添加或修改您需要传入的现有输入流的行为。例如,它的子类BufferedInputStream
添加了缓冲能力。由于FilterInputStream
需要持有你传入的流,所以也有一个“has a”的关系。
FilterInputStream
是 装饰器模式 的一个例子:https://en.wikipedia.org/wiki/Decorator_pattern