装饰者模式

简介

装饰者模式:不改变原有类的对象 , 动态地将额外的功能附加到该对象上 ;

主要适用于为一个组件进行功能扩展,并且能够动态的移除扩展。如BufferInputStream类可以装饰FileInputStream,也可以直接用FileInputStream类。

类图

在这里插入图片描述
装饰者模式由组件(Component)、装饰器(Decorator)组成,装饰器继承/实现了组件的父类,并且聚合一个组件对象。 这样做的好处是装饰器类中持有的Component对象不仅能接收Component子类对象,还能接收一个装饰器子类。(装饰器能够套用装饰器,也能套用组件)

实例:BufferInputstream

BufferInputStream为装饰器对象的实现类,继承了FilterInputStream(装饰器对象)
在这里插入图片描述
FilterInputStream对象不仅继承还聚合了InputStream对象,InputStream作为被装饰的Component对象抽象父类。只要继承了InputStream类的对象就能被装饰器装饰。如public class FileInputStream extends InputStream{}
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值