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

商派商城网站建设公司个人简历模板免费下载手机版

商派商城网站建设公司,个人简历模板免费下载手机版,北京高端网页建设,自动的网站制作在Java中#xff0c;装饰器模式允许我们动态地给对象添加新的行为或责任#xff0c;而无需修改原有类。以下是一个简单的装饰器模式示例#xff0c;我们将模拟一个咖啡销售系统#xff0c;其中基础饮料类#xff08;Component#xff09;是Coffee#xff0c;装饰器类装饰器模式允许我们动态地给对象添加新的行为或责任而无需修改原有类。以下是一个简单的装饰器模式示例我们将模拟一个咖啡销售系统其中基础饮料类Component是Coffee装饰器类Decorator用来添加额外的调料。 首先定义抽象组件——基础咖啡接口 // 抽象组件Component public interface Coffee {double getCost(); // 获取咖啡价格String getDescription(); // 获取咖啡描述 }// 具体组件ConcreteComponent public class SimpleCoffee implements Coffee {Overridepublic double getCost() {return 1.0; // 基础咖啡的价格}Overridepublic String getDescription() {return Simple Coffee; // 基础咖啡的描述} } 接下来创建装饰器接口 // 装饰器接口Decorator public abstract class CoffeeDecorator implements Coffee {protected Coffee coffee; // 维持对组件对象的引用public CoffeeDecorator(Coffee coffee) {this.coffee coffee;}Overridepublic double getCost() {return coffee.getCost(); // 默认调用原始咖啡的价格}Overridepublic String getDescription() {return coffee.getDescription(); // 默认调用原始咖啡的描述} } 然后我们创建几个具体的装饰器类它们会附加额外的功能比如添加糖、奶或者巧克力 // 具体装饰器 - 添加糖 public class SugarDecorator extends CoffeeDecorator {private static final double SUGAR_COST 0.25;public SugarDecorator(Coffee coffee) {super(coffee);}Overridepublic double getCost() {return super.getCost() SUGAR_COST; // 在原始咖啡价格基础上增加糖的成本}Overridepublic String getDescription() {return coffee.getDescription() , With Sugar; // 更新描述信息} }// 具体装饰器 - 添加牛奶 public class MilkDecorator extends CoffeeDecorator {private static final double MILK_COST 0.5;public MilkDecorator(Coffee coffee) {super(coffee);}Overridepublic double getCost() {return super.getCost() MILK_COST; // 在原始咖啡价格基础上增加牛奶的成本}Overridepublic String getDescription() {return coffee.getDescription() , With Milk; // 更新描述信息} }// 可以继续定义其他装饰器如ChocolateDecorator等... 最后在客户端代码中我们可以动态地构建不同口味的咖啡 public class CoffeeShop {public static void main(String[] args) {Coffee simpleCoffee new SimpleCoffee();System.out.println(simpleCoffee.getDescription() costs: simpleCoffee.getCost());Coffee coffeeWithSugar new SugarDecorator(simpleCoffee);System.out.println(coffeeWithSugar.getDescription() costs: coffeeWithSugar.getCost());Coffee coffeeWithMilkAndSugar new MilkDecorator(coffeeWithSugar);System.out.println(coffeeWithMilkAndSugar.getDescription() costs: coffeeWithMilkAndSugar.getCost());} } 运行上述代码后将会输出每种咖啡的描述和对应的价格展示了如何通过装饰器模式动态地添加不同的调料并计算总成本。
http://www.pierceye.com/news/542197/

相关文章:

  • 电子商务网站的设计工具wordpress中文用户名
  • 网站免费下载软件软件著作权申请多少钱一个
  • 东莞网站视频网站建设和管理规则
  • 内网网站建设方案wordpress 开发主题
  • 咸阳网站建设联系电话星悦做任务网站是
  • 家居网站建设的背景及意义免费域名注册官网
  • 桂林网站制作多少钱排名优化seo
  • 将网站保存怎么做wordpress 后台菜单
  • 2.0网站线上建设什么意思做外贸网站哪家的好
  • 网站域名可以更改吗安装wordpress插件目录下
  • 海南省澄迈住房和城乡建设厅网站ui设计师创意平台
  • 青岛网站设计公司排名wordpress 下载主题
  • 外包做网站不满意中级经济师考试成绩查询
  • 苏州企业网站建站系统网页制作基础步骤
  • 新河网站规划电子商务网站流程
  • 免费网站建设免代码杭州建设工程交易平台
  • 网页网站导读怎么做百度问答兼职怎么做
  • wordpress建站环境报喜鸟集团有限公司网页制作
  • 怎么利用网站赚广告费网站开发服务费入什么科目
  • 求网站2021在线观看设计app的软件
  • 百度文库登录入口昆明网站建设优化技术
  • 江苏建设教育协会网站网络营销专员岗位职责
  • 遂宁门户网站建设先进工作单位帮别人做违法网站会判刑吗
  • 设计公司网站套餐怎么样做短视频
  • 化妆品做网站流程什么是网络营销产品
  • windows搭建php网站推荐商城网站建设
  • php网站开发门槛高吗网络推广网站推广
  • 网站推广的8种方法微信怎么开创公众号
  • 大鹏外贸网站建设海口网站网站建设
  • 手表东莞网站建设技术支持信创网站