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

盐城网站开发厂商网上购物商城有哪些

盐城网站开发厂商,网上购物商城有哪些,小型网站建设方案,短视频平台推广方案装饰器模式是一种结构型设计模式#xff0c;它允许动态地将责任附加到对象上。装饰器模式是通过创建一个包装对象#xff0c;也就是装饰器#xff0c;来包裹真实对象#xff0c;从而实现对真实对象的功能增强。装饰器模式可以在不修改原有对象的情况下#xff0c;动态地添…装饰器模式是一种结构型设计模式它允许动态地将责任附加到对象上。装饰器模式是通过创建一个包装对象也就是装饰器来包裹真实对象从而实现对真实对象的功能增强。装饰器模式可以在不修改原有对象的情况下动态地添加功能。 装饰器模式通常由以下几个组件组成 1.Component组件接口定义了一个对象接口可以给这些对象动态地添加职责。 2.ConcreteComponent具体组件实现了组件接口是被装饰的对象。 3.Decorator装饰器抽象类持有一个指向组件对象的引用并实现了组件接口。通常是一个抽象类用于定义装饰器的基本行为。 4.ConcreteDecorator具体装饰器扩展了装饰器抽象类实现了具体的装饰功能。 开始上代码 首先我们定义一个咖啡 // 组件接口 interface Coffee {double cost();String getDescription(); }咖啡分很多种类我们先来一个浓缩咖啡 // 具体组件 - 浓缩咖啡 class Espresso implements Coffee {Overridepublic double cost() {return 1.5;}Overridepublic String getDescription() {return Espresso;} }然后我觉得浓缩咖啡有点苦所以我想加点糖和牛奶 所以这里我们要开始上装饰器了 // 装饰器抽象类 abstract class CoffeeDecorator implements Coffee {protected Coffee coffee;public CoffeeDecorator(Coffee coffee) {this.coffee coffee;}Overridepublic double cost() {return coffee.cost();}Overridepublic String getDescription() {return coffee.getDescription();} }加奶的装饰器 // 具体装饰器 - 加牛奶 class Milk extends CoffeeDecorator {public Milk(Coffee coffee) {super(coffee);}Overridepublic double cost() {return super.cost() 0.5;}Overridepublic String getDescription() {return super.getDescription() , Milk;} }加糖的装饰器 // 具体装饰器 - 加糖 class Sugar extends CoffeeDecorator {public Sugar(Coffee coffee) {super(coffee);}Overridepublic double cost() {return super.cost() 0.2;}Overridepublic String getDescription() {return super.getDescription() , Sugar;} }然后测试一下 public class Test {public static void main(String[] args) {// 点一杯浓缩咖啡Coffee espresso new Espresso();System.out.println(Espresso: espresso.getDescription() - Cost: $ espresso.cost());// 加牛奶Coffee espressoWithMilk new Milk(espresso);System.out.println(Espresso with Milk: espressoWithMilk.getDescription() - Cost: $ espressoWithMilk.cost());// 加糖Coffee espressoWithSugar new Sugar(espresso);System.out.println(Espresso with Sugar: espressoWithSugar.getDescription() - Cost: $ espressoWithSugar.cost());// 加牛奶和糖Coffee espressoWithMilkAndSugar new Sugar(new Milk(espresso));System.out.println(Espresso with Milk and Sugar: espressoWithMilkAndSugar.getDescription() - Cost: $ espressoWithMilkAndSugar.cost());} }运行结果 可以发现这个模式很好理解看起来也比较实用的样子
http://www.hkea.cn/news/14468465/

相关文章:

  • 建设网站建议做国际物流需网站
  • 上海好的网站有哪些华为域名注册
  • 甘肃兰州做网站东莞 网站建设企业
  • 网站建设 猴王网络0成本北京网页设计公司山东济南兴田德润在哪里
  • c# 网站开发教程做外贸推广的公司
  • dede医院网站模板小企业网站建设流程
  • 网站建设预算和维护wordpress设置相册
  • 不用cms怎么做网站杭州 网站建设公司
  • 做外单要上什么网站52影院
  • 建站平台功能结构图洛阳电商网站建设
  • 双流区的规划建设局网站wordpress 安卓接口
  • 上海建站seo深圳品牌设计公司深圳品牌设计公司
  • 做刷单哪个网站找小白手把手教你入侵网站修改数据
  • 泰安网站建设步骤的物app
  • 开网站怎么赚钱湛江建设工程交易中心网站
  • 电子商务网站建设的意义是什么意思建设银行网站扫码支付在哪里
  • 网站建设项目清单价格免费网站个人注册
  • 百度推广苏州公司内页优化
  • 整站seo运营汕头企业自助建站
  • 在线音乐播放网站模板百度指数怎么下载
  • 云虚拟主机和网站建设php做购物网站怎么样
  • 沧州网站优化公司优秀个人网站推荐
  • 域名转移影响网站访问吗哈尔滨网站设计哪家公司好
  • 论述农产品电商网站建设黄山网站建设免费咨询
  • 做个网站一般多少钱企业安全文化建设论文
  • 网站建站系统程序信阳市网站建设公司
  • 网站如何做容易收录wordpress国内免费模板
  • 企业网站策划方案书百度推广服务费一年多少钱
  • 复兴区网络推广公司关键词优化软件
  • 做php网站前端价格seo点击排名工具