装饰设计模式:定义一个类,在构造函数中将已有对象传入,基于被装饰对象已有的功能,提供更强的功能,那么自定义的该类称为装饰类。
装饰类通常会通过构造方法接收被装饰的对象。
装饰与继承的区别:
装饰模式比继承要灵活,避免了继承体系的臃肿,而且降低了类于类之间的关系。
装饰类因为增强了已有对象,所以其具备的功能和已有的被装饰类是相同的,只不过提供了更强功能。所以装饰类和被装饰类通常是都属于一个体系中的。
具体代码你可以看看毕老师在day19讲的MyBufferedReaderDemo.java和MyLineNumberReaderDemo.java。 |
|