当想要对已有的对象进行功能增强时,可定义类,将已有对象传入,基于已有的功能,并加强功能。(通过构造函数接收对象)将底了类与类之间的关系。
通过继承也可以增强功能,但会非常臃肿。
例如:毕老师的例子
通过继承实现的
MyReader
|--MyTextReader
|--MyBufferTextReader
|--MyMediaReader
|--MyBufferMediaReader
|--MyDataReader
|--MyBufferDataReader
通过装饰实现的
MyReader
|--MyTextReader
|--MyMediaReader
|--MyDataReader
|--MyBufferReader |