继承是什么?OOP 三大特征之一
装饰设计模式(包装设计)?为了解决实际中问题出现的设计思想
事例:流对象作为事例
读取流--抽象
文本读取流TextReader
音频读取流SoundReader
游戏读取流GameReader
视频读取流VideoReader
继承方式扩展原有的流对象
TextReader
extends TextReader 重写方法
SoundReader
extends SoundReader 重写方法
GameReader
extends GameReader 重写方法
VideoReader
extends VideoReader 重写方法
以上的继承体系,庞大,而且臃肿,对于开发者,不好用,对于学习的,也不好学
用装饰的方式扩展原有的流对象
TextReader
SoundReader
GameReader
VideoReader
定义一个扩展流对象,你传递哪一个流,扩展哪一个流
BufferedReader(读取流)
BufferedReader(TextReader)
BufferedReader(GameReader)
综上所述,两个方法,对原有流对象进行扩展后
继承的方式,庞大臃肿
装饰的方式,结构简单,并且更加容易学习和使用。 |