当前位置: 首页 > news >正文

装饰器模式

装饰器模式

适配器是连接两个类,可以增强一个类装饰器是增强一个类

向一个现有的对象添加新的功能,同时又不改变其结构。属于对象结构型模式。

创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。

案例

现在有一个直播类,我们需要给它添加美颜功能

public interface TikTok {void start();
}
public class MyTikTok implements TikTok{@Overridepublic void start() {System.out.println("开始直播。。。");}
}

添加装饰器:

public interface Decorator extends TikTok{void enable();
}
public class MeiYanDecorator implements Decorator{private TikTok tikTok;public MeiYanDecorator(TikTok tikTok){this.tikTok = tikTok;}@Overridepublic void enable() {System.out.println("开启美颜。。。");}@Overridepublic void start() {enable();tikTok.start();}
}

测试:

public class Main {public static void main(String[] args) {MeiYanDecorator decorator = new MeiYanDecorator(new MyTikTok());decorator.start();}
}

http://www.mrgr.cn/news/34329.html

相关文章:

  • Python自动化运维DevSecOps与安全自动化
  • HTML之表单学习记录
  • Linux 常用操作指令大揭秘(下)
  • CSS多列布局:打破传统布局的束缚
  • 系统启动时将自动加载环境变量,并后台启动 MinIO、Nacos 和 Redis 服务
  • Linux apt 命令
  • Vue使用Vue Router路由:开发单页应用
  • 【网络协议栈】传输层的意义 和 UDP协议结构的解析(内含逻辑图解通俗易懂)
  • yolo自动化项目实例解析(四)ui页面整理1 (1.85)
  • kafka负载均衡迁移(通过kafka eagle)
  • 独立站崛起:2024全球商家共谋增长新蓝图
  • Kibana中突然看不到日志ElasticSearch突然采集不到日志问题解决分析
  • Linux——虚拟机和Windows间的文件传输方式
  • 【运维监控】influxdb 2.0 + grafana 11 监控jmeter 5.6.3 性能指标(1)
  • 9.23-部署项目
  • 基于深度学习的竞争性对抗学习
  • 场景题面试题——第一篇
  • freemobus阅读笔记
  • 比亚迪技术面试(测试、测开)
  • 公测两次延期、被网易拉黑,乙游《米修斯之印》能“活”下来吗?
  • python对文件的写入和追加
  • 基于QT的C++中小项目软件开发架构源码
  • 【Centos 8安装VNC及多用户配置详细教程】
  • docker安装及使用
  • 公司将被千万美金收购,工程师却误删数据库 —— 没 有 备 份!!!
  • 深度解读 2024 Gartner DevOps 魔力象限