【JAVA SE基础篇】50.装饰器介绍

1.装饰器

在不改变原来代码的基础上,直接通过调用来达到新的功能,就是装饰设计模式

例 模拟放大器:

【JAVA SE基础篇】50.装饰器介绍_第1张图片

 

 装饰器的组成部分:

1、抽象组件:需要装饰的抽象对象(接口或抽象父类)

2、具体组件:需要装饰的对象

3、抽象装饰类:包含了对抽象组件的应用以及装饰着共用的方法

4、具体装饰类:被装饰的对象

例 模拟咖啡:

1.抽象组件

【JAVA SE基础篇】50.装饰器介绍_第2张图片

 

 2.具体组件

【JAVA SE基础篇】50.装饰器介绍_第3张图片

 

 3.抽象装饰类

【JAVA SE基础篇】50.装饰器介绍_第4张图片

 

 4.两个具体装饰类

【JAVA SE基础篇】50.装饰器介绍_第5张图片

 

 5.主方法

【JAVA SE基础篇】50.装饰器介绍_第6张图片

 

2.IO流中的装饰器

InputStream:抽象组件(接口)

FileInputStream和ByteArrayInputStream:这些InputStream实现类是可以被装饰者包起来的具体组件

FileterInpurStream:抽象装饰者

BufferedInputStream、DataInputStream和ObjectInputStream:具体装饰类

 

你可能感兴趣的:(【JAVA SE基础篇】50.装饰器介绍)