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

做调查问卷哪个网站好云原神官方网站正版下载

做调查问卷哪个网站好,云原神官方网站正版下载,wordpress seo栏目标题,搭建企业官网Java 装饰器模式(Decorator Pattern)详解 🎁 什么是装饰器模式? 装饰器模式是一种结构型设计模式,允许向一个对象动态添加新的功能,而不改变其结构。 🧱 你可以想象成在原有功能上“包裹”一…

Java 装饰器模式(Decorator Pattern)详解

🎁 什么是装饰器模式?

装饰器模式是一种结构型设计模式,允许向一个对象动态添加新的功能,而不改变其结构。

🧱 你可以想象成在原有功能上“包裹”一层新功能,就像“套娃”或者“包礼物”。


🧠 使用场景

  • 需要在不修改类的情况下,扩展其功能
  • 需要动态地为对象添加功能
  • 多个类只有少量差异时,使用继承会导致类爆炸

🏗️ 模式结构

  • Component(抽象构件):定义对象接口
  • ConcreteComponent(具体构件):被装饰的原始对象
  • Decorator(装饰器抽象类):持有组件对象的引用,扩展功能
  • ConcreteDecorator(具体装饰器):实现具体增强功能

✅ 示例:咖啡加配料

抽象组件

public interface Coffee {String getDescription();double cost();
}

具体组件

public class SimpleCoffee implements Coffee {@Overridepublic String getDescription() {return "普通咖啡";}@Overridepublic double cost() {return 5.0;}
}

抽象装饰器

public abstract class CoffeeDecorator implements Coffee {protected Coffee decoratedCoffee;public CoffeeDecorator(Coffee coffee) {this.decoratedCoffee = coffee;}@Overridepublic String getDescription() {return decoratedCoffee.getDescription();}@Overridepublic double cost() {return decoratedCoffee.cost();}
}

具体装饰器:加牛奶

public class MilkDecorator extends CoffeeDecorator {public MilkDecorator(Coffee coffee) {super(coffee);}@Overridepublic String getDescription() {return super.getDescription() + " + 牛奶";}@Overridepublic double cost() {return super.cost() + 2.0;}
}

具体装饰器:加糖

public class SugarDecorator extends CoffeeDecorator {public SugarDecorator(Coffee coffee) {super(coffee);}@Overridepublic String getDescription() {return super.getDescription() + " + 糖";}@Overridepublic double cost() {return super.cost() + 1.0;}
}

客户端使用

public class Main {public static void main(String[] args) {Coffee coffee = new SimpleCoffee();coffee = new MilkDecorator(coffee);coffee = new SugarDecorator(coffee);System.out.println(coffee.getDescription() + ",价格:" + coffee.cost());}
}

🧩 优点

  • 灵活、可扩展性强,支持动态组合
  • 避免类继承造成的类爆炸
  • 满足开闭原则

⚠️ 缺点

  • 多层装饰器会增加系统复杂度,调试不易
  • 对象结构可能过于复杂,难以理解

✅ 使用建议

  • 当你希望在运行时增加对象行为,而不是通过继承
  • 多个类之间功能相似,可通过组合代替继承

文章转载自:

http://nRNOWEAd.chfxz.cn
http://AOurQ95b.chfxz.cn
http://NsGe1mEO.chfxz.cn
http://SdT8gCeo.chfxz.cn
http://4RPo8x3X.chfxz.cn
http://qqLn391L.chfxz.cn
http://nR43f0Uf.chfxz.cn
http://eZeYUsn4.chfxz.cn
http://Xsm3MXAz.chfxz.cn
http://93lQZt44.chfxz.cn
http://OimWkiCG.chfxz.cn
http://7YgvLa0n.chfxz.cn
http://zOsmPuba.chfxz.cn
http://Q4eBRFmy.chfxz.cn
http://Qfyb8GTN.chfxz.cn
http://dT59DWPu.chfxz.cn
http://TAdKbw8K.chfxz.cn
http://A9Z85Mx3.chfxz.cn
http://85XjmwGq.chfxz.cn
http://pSQMJIEG.chfxz.cn
http://RoMOip8O.chfxz.cn
http://dIX3vxPz.chfxz.cn
http://xzfo1VHA.chfxz.cn
http://8s4zhExd.chfxz.cn
http://APW7f6UH.chfxz.cn
http://6JEJx22s.chfxz.cn
http://pHaPiWqC.chfxz.cn
http://AdWK1MXH.chfxz.cn
http://rLEWYGWk.chfxz.cn
http://Dqedcfhd.chfxz.cn
http://www.dtcms.com/wzjs/657207.html

相关文章:

  • 网站栏目关键词做衬衣的网站
  • photoshop下载免费版企业seo顾问服务公司
  • 网站怎么推广和应用网站建设需要在哪备案
  • 营销型网站的特点东莞娱乐场所最新通知
  • 北京邢台企业商会网站山西建设厅网站首页
  • 做购物平台网站需要注意什么企业网厅
  • 化妆品网站方案站酷海洛设计网站官网
  • 做热点图现在用什么网站可以找网图的软件
  • 旅游网站制作视频百度云南通中小企业网站制作
  • wordpress名站中小型网站有哪些
  • 服装类电子商务网站建设报告公司官网怎么编辑
  • 做网站 信科网络建设工程个人信息采集哪个网站
  • 做网站跟推广哪家公司好app是什么意思通俗讲
  • 网站建设电销照片一键生成视频的软件
  • 营销型企业网站分析与诊断的步骤wordpress 多站点错误
  • 海南住房和城乡建设厅网站首页广州免费钓鱼地点50个
  • vps做网站的环境app系统开发费用
  • 网站没有域名永康建设局网站
  • 深圳便宜做网站织梦后台做的网站怎么绑定域名
  • 网站英文版是怎么做的好的h5制作网站模板
  • 网站建设托管公司苏宁易购网站建设的思路
  • vi设计基础部分都有哪些郑州seo团队
  • 广州网站推广公司哪个网站有做阿里巴巴流量
  • 漂亮的数据型网站备案信息在哪里查
  • 互联网网站制作公司哪家好万网域名指向网站
  • 高端网站建设公司大于二高端网站建设
  • 网站建设税收编码广州制作外贸网站公司简介
  • 宣讲家网站美丽乡村建设大连哪家公司做网站好
  • 旅游网站开发报价单怎样开发公司的网站建设
  • 做网站优化哪家好网架公司的螺丝是不是公司安好