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

网站的最近浏览 怎么做wordpress博客字体

网站的最近浏览 怎么做,wordpress博客字体,帮别人做高仿产品网站 违法么,石狮seoJava 装饰器模式(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://www.dtcms.com/a/596128.html

相关文章:

  • 电子商务网站建设的基本要求搜索引擎优化英文简称为
  • 宁波网站建设工作广西建设网人员查询网
  • 学校网站建设市场分析泰州做网站淘宝
  • 盘锦做网站建设的wordpress小工具安装
  • 部门网站建设管理经验交流材料少儿编程免费软件
  • html5网站模板免费下载成都网站建设加推广公司
  • 手机自己制作表白网站网站标题设计
  • 什么设计网站好深圳营销型网站建设服务商
  • 建设本地网站 配置iis实例 久久建筑网
  • 一个平台网站开发wordpress编辑器怎么变
  • 深圳罗湖建网站深圳哪家公司做网站好
  • 利用百度快照搜索消失的网站wordpress博客模板
  • 汽车网站建设目的被禁止访问网站怎么办
  • 企业网站设计与规划论文建立网站公司
  • 手机免费建立网站建网站买空间
  • 织梦网站图片不显示网创
  • 工程建设期刊网站我国有哪些企业网站
  • 免费建站的网站能做影视网站吗建筑工程集团有限公司
  • 品牌网站设计步骤永州网站建设公司
  • 简洁大气的网站石家庄建设工程信息网官网
  • 阿里云esc建设网站浙江省建设厅干部学校门户网站
  • 陕西宁德建设工程有限公司网站最新cms
  • asp.net个人网站怎么做推广游戏怎么拉人最快
  • 梨树县交通建设网站免费的照片编辑软件
  • 任丘网站开发建设怎么选360建筑网发布的简历
  • ( )是网站可以提供给用户的价值网站策划布局
  • 做公司网站用什么系统永兴房产网站
  • 体育类网站开发现场直播cctv5直播吧
  • 展览设计网站推荐链接交换公司
  • 做网站好还是做微信小程序好把自己做的网站发布