漫画设计模式:什么是“装饰器模式”?

——————第2天———————————————————装饰器模式包括哪些核心角色? 1. Component接口在上面的示例中,Component接口等效于car接口,并且所有包装类和包装类都从该接口继承。 2. ConcreteComponent类ConcreteComponent类是一个打包的实现类。
在示例中,梅赛德斯·奔驰,宝马和特斯拉都属于这个角色。 3.  Decorator抽象类的所有包装类都从Decorator抽象类继承,并且Decorator类实现Component接口。
这样做是为了实现多层嵌套包装。 4. ConcreteDecorator类是一个特定的包装类,用于扩展包装类的功能,例如示例中的自动驾驶功能和飞行功能扩展。
这四个核心角色之间有什么关系?我们可以使用装饰器模式的UML类图来表达:第一个是car接口,它是Component的角色,它定义了run的行为:public interface Car {void run();}接下来是实现类别的各种汽车,即ConcreteComponent的角色,不同的汽车具有不同的运行行为实现:公共类BenzCar实现Car {@Override public void run(){& nbsp;& nbsp;& nbsp ;& nbsp;& nbsp;& nbsp; System.out .println(“奔驰在开车!”);& nbsp;& nbsp;& nbsp;& nbsp;} }公共类BmwCar实现Car {@Override public void run(){& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp; System.out .println(“ BMW正在行驶!”);& nbsp;& nbsp;& nbsp;& nbsp;}}公共类TeslaCar实现Car {@Override public void run(){& nbsp;& ;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp; System.out.pri ntln(“特斯拉在开车!”); & nbsp;& nbsp;& nbsp;}}下面是装饰器的抽象类,它是Decorator角色,其中包含Decorated成员对象:公共类CarDecorator实现Car {protected Car&decoratedCar; public CarDecorator(Car& nbsp; decoratedCar){this.decoratedCar& nbsp; =& nbsp;& nbsp;& nbsp;& nbsp;} public void run(){& nbsp; & nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp; decoratedCar.run();& nbsp;& nbsp;& nbsp;& nbsp; }}有人可能会奇怪为什么装饰器类也实现了Car接口?这是装饰器模式的灵活性。继承自Car接口的每个装饰器本身也可以由一个更外部的装饰器包装。
包装方法是将Car对象作为参数传递给外部装饰器的构造函数。接下来是混凝土装饰器实现类,它是ConcreteDecorator角色。
这些装饰器还实现了运行行为。一方面,他们将调用包装对象的run方法,另一方面,他们将执行一些扩展的操作(例如自动驾驶和飞行):公共类AutoCarDecorator扩展CarDecorator {public AutoCarDecorator(Car& decoratedCar) {super(decoratedCar);& nbsp;& nbsp;& nbsp;} @Override public void run(){& nbsp;& nbsp;& nbsp;& nbsp;& nbsp ;& nbsp;& nbsp; decoratedCar.run();& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp ; autoRun();& nbsp;& nbsp;& nbsp;} private void autoRun(){& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& n;  & nbsp; System.out。
println(“ Enable Autopilot”); & nbsp;& nbsp; }}公共类FlyCarDecorator扩展了CarDecorator {public FlyCarDecorator(Car& nbsp; decoratedCar){super(decoratedCar);& } @Override public void run(){& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp ;& decoratedCar.run();& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp; fly();& nbsp ;& nbsp;& nbsp;} private void fly(){& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& n; System.out.println(“打开飞行汽车模式”); }}最后,我们的客户端类。客户端类负责创建打包的对象和修饰符,并决定如何打包和执行:public class Client {public static void main(String []& nbsp; args){& nbsp;& nbsp;&  & nbsp;   汽车  benzCar  = new BenzCar();& nbsp;& nbsp;& nbsp;& n nbsp;& nbsp;& nbsp;& nbsp; = new BmwCar();& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;  & nbsp;& nbsp;汽车  teslaCar& nbs

公司: 深圳市捷比信实业有限公司

电话: 0755-29796190

邮箱: tao@jepsun.com

产品经理: 陆经理

QQ: 2065372476

地址: 深圳市宝安区翻身路富源大厦1栋7楼

微信二维码

更多资讯

获取最新公司新闻和行业资料。

  • 模拟产品与模拟量模块抗干扰设计关键技术解析 模拟产品与模拟量模块抗干扰设计关键技术解析在工业自动化、智能传感器、过程控制等系统中,模拟信号的稳定传输至关重要。由于模拟量信号易受电磁干扰(EMI)、地线噪声、电源波动等因素影响,因此对模拟产品及模拟量...
  • 模拟开关与模拟量模块抗干扰设计关键技术解析 模拟开关与模拟量模块抗干扰设计的重要性在工业自动化、智能仪表和精密测量系统中,模拟开关与模拟量模块作为信号采集与控制的核心组件,其稳定性直接关系到整个系统的精度与可靠性。然而,由于模拟信号易受电磁干扰...
  • 积层式电感是什么? 积层式电感是一种由多层金属片和绝缘层叠加而成的电感器。它的结构类似于印刷电路板,可以通过将多层金属片和绝缘层叠加在一起,并通过蚀刻和电镀等工艺形成具有特定电感值和电阻值的电感器。积层式电感具有高Q值、小...
  • 保险丝的储存方式是什么? 为了获得保险丝的最佳性能,储存保险丝时应该注意以下几点:保险丝应该储存在干燥、通风、无腐蚀性气体的环境中,避免阳光直射和高温环境。保险丝应该放置在专门的保险丝盒或者保险丝架中,避免受到外力的冲击和碰撞...
  • 老式闸刀保险丝是什么金属材质 老式闸刀保险丝,使用的主要成分是铅,并含有少量其他金属。合金具有低熔点和高电阻率的特点,而大多数保险丝由铅(不低于98%)和锑(0.3-1.5%)合金制成。熔点为246,电阻率远高于导体。因此,当电路过流和短路时,保险丝...
  • 滤波器共模电感大还是串模电感大 共模滤波器原理共模电感也称为共模滤波器。它是一种以铁氧体为核心的共模干扰抑制器件。它由两个大小相同、匝数相同的线圈对称缠绕在同一个铁氧体环形磁铁上组成。在磁芯上形成四端器件,对共模信号的大电感有抑制作...
  • 共模电感怎么接线与差模电感的区别   共模电感和差模电感的区别共模电感和差模电感的电路图  1、骚扰电磁场在线-线之间产生差模电流,在负载上引起干扰,这就是差模干扰;骚扰电磁场在线-地之间产生共模电流,共模电流在负载上产生差模电压,引起干...
  • 怎么区分共模电感和差模电感 共模电感和差模电感都是抗电磁干扰的有效元件,广泛应用于各种滤波器、开关电源等产品中。然而,共模电感器用于抑制共模干扰,而差模电感器用于抑制差模干扰。两者都是重要的滤波电感。这两种电感器都是滤波电感器,...
  • 差模电感和共模电感怎么选择 一、共模电感与差模电感共模电感和差模电感都是抗电磁干扰有效的元器件之一,广泛应用于各种滤波器、开关电源等产品,但是共模电感是用来抑制共模干扰,而差模电感是用来抑制差模干扰,两种都是比较重要的滤波电感。...
  • EMI共模滤波器设计原理与应用解析 EMI共模滤波器设计原理与应用解析电磁干扰(EMI)是现代电子设备中常见的问题,尤其在高速数字电路和高功率系统中更为突出。为了有效抑制共模噪声,共模滤波器成为关键的抗干扰元件。本文将深入探讨EMI共模滤波器的设计...
  • 什么是发光二极管封装       发光二极管封装是指发光芯片的封装,与集成电路封装有很大不同。发光二极管封装不仅需要保护灯芯,还需要能够透光。因此,发光二极管封装对封装材料有特殊要求。...
  • 铝壳电阻器的主要特点是什么?和普通电阻器有什么区别? 铝壳电阻器的主要物理特征是将电能转化为热能,可以说是电流通过时产生内部能量的耗能部件。外壳由铝合金制成(金色铝壳),表面有散热槽,体积小、功率大、耐高温,过载能力强,耐候性强,精度高,标准低感应电阻,...
  • 从原理到实践:模拟量模块与模拟开关的抗干扰实战指南 模拟量模块与模拟开关抗干扰设计的实战路径在实际工程项目中,仅依赖理论设计不足以应对复杂电磁环境。本文结合典型应用案例,深入剖析模拟量模块与模拟开关在真实场景下的抗干扰实现方法。一、典型应用场景分析以工...
  • 电容式压力传感器属于什么型 电容式压力传感器(capacitive type pressure transducer),是一种利用电容敏感元件将被测压力转换成与之成一定关系的电量输出的压力传感器。特点是,输入能量低,高动态响应,自然效应小,环境适应性好。原理它一般采用圆形金属...
  • 模拟位-称重传感器的模拟组合器电路 本文利用了上一篇文章未简化的称重传感器SPICE模型的多个实例。它为多称重传感器系统提供了一个模拟前端电路,在该系统中,所有称重传感器的输出必须进行组合和放大,并且可用于单轨和双轨应用。给出的示例将是四个称重...
  • 点火电源保险丝一装上去就爆了是什么原因 一、常见的故障现象1、发动机运转平稳性差、有爆燃、易过热的现象。2、发动机起动时有反转、怠速和急加速时有爆燃则为点火过早。3、发动机发闷无力,易过热,排气管冒黑烟,放炮则为点火过晚。二、故障原因排除及诊断...
  • 共模和差模电感的区别 1.用于抗电磁干扰的两种电感器:共模电感器和差模电感器。2.干扰电磁场在线路之间产生差模电流,对负载造成干扰,称为差模干扰;干扰电磁场在线路和地面之间产生共模电流,共模电流在负载上产生差模电压,造成干扰,即...
  • 共模贴片电感在EMC设计中的关键作用 共模贴片电感在电磁兼容(EMC)设计中的重要性随着电子设备集成度不断提高,电磁干扰问题日益严重。共模贴片电感作为EMC防护的关键元件之一,能够有效抑制设备对外发射的共模噪声,同时增强设备对外部干扰的抗扰能力。...
  • 模拟开关逻辑IC设计原理与应用解析 模拟开关逻辑IC设计原理与应用解析模拟开关逻辑IC是现代电子系统中不可或缺的关键组件,广泛应用于信号路由、数据采集、电源管理及传感器接口等领域。其核心功能是在数字控制信号的驱动下,实现模拟信号的通断切换,具...
  • 共模电感的差模分量一般都远小于共模电感量 看点1 几个简单的实例测验与分析!01 这是一个共模电感,如下测量,你觉得测得的电感量是多少?可能有一部分会答错。下面来说明一下我们知道共模电感的绕法有两种,1 双线并绕,2 两组线圈分开绕。我们知道共模电感的绕...