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

网站后台管理系统密码百度投诉中心在线申诉

网站后台管理系统密码,百度投诉中心在线申诉,静态网站开发实训的目的,装潢设计培训中心装饰者模式(Decorator) 定义 1、动态的将新功能附加到对象上,在对象功能扩展方面,他比继承更有弹性,也体现了开闭原则(OCP) 2、这里提到的动态的将新功能附加到对象和OCP原则,在后面应用实际上会以代码的形式体现。 //饮料 // 饮…

装饰者模式(Decorator)

在这里插入图片描述

定义
1、动态的将新功能附加到对象上,在对象功能扩展方面,他比继承更有弹性,也体现了开闭原则(OCP)
2、这里提到的动态的将新功能附加到对象和OCP原则,在后面应用实际上会以代码的形式体现。

//=====================饮料========================
// 饮料
@Data
public abstract class Drink {//描述public  String description;//价格private float price=0.0f;//计算费用的抽象方法//子类去实现public abstract float cost();
}
public class Coffee extends Drink {@Overridepublic float cost() {return super.getPrice();}
}
public class EspressoCoffer extends Coffee {public EspressoCoffer() {setDescription("意大利咖啡");setPrice(6.0f);}
}
public class LongBlackCoffer extends Coffee {public LongBlackCoffer() {setDescription("美式咖啡");setPrice(5.0f);}
}
public class DecafCoffee extends Coffee {public DecafCoffee() {setDescription(" 无因咖啡 ");setPrice(1.0f);}
}
public class ShortBlackCoffer extends Coffee {public ShortBlackCoffer() {setDescription(" short Black coffer");setPrice(5.6f);}
}
//===================装饰者类==========================/*** 装饰者** @author Administrator* @description*/
public class Decorator extends Drink {private Drink obj;//组合public Decorator(Drink obj) {this.obj = obj;}@Overridepublic float cost() {//自己的价格 + drink的价格return super.getPrice() + obj.cost();}@Overridepublic String getDescription() {//输出了被装饰者的信息return super.description + "" + super.getPrice() + " && " + obj.getDescription();}
}
//巧克力
public class ChocolateDecorator extends Decorator {public ChocolateDecorator(Drink obj) {super(obj);setDescription(" 巧克力 ");//调味品的价格setPrice(3.0f);}
}
//牛奶调味品
public class MilkDecorator extends Decorator {public MilkDecorator(Drink obj) {super(obj);setDescription(" 牛奶 ");setPrice(2.0f);}
}
//豆浆
public class SoyDecorator extends Decorator {public SoyDecorator(Drink obj) {super(obj);setDescription(" 豆浆 ");setPrice(1.5f);}
}
//====================调用=============================
@Slf4j
public class CofferBarClient {public static void main(String[] args) {//装饰者模式下的订单:2份巧克力+一份牛奶的LongBlack//1、点一份LongBlackDrink order=new LongBlackCoffer();log.info("费用1:{}",order.cost());log.info("描述1:{}",order.getDescription());//order加一分牛奶order=new MilkDecorator(order);log.info("费用1:{}",order.cost());log.info("描述1:{}",order.getDescription());//order 加一分巧克力order=new ChocolateDecorator(order);log.info("费用1:{}",order.cost());log.info("描述1:{}",order.getDescription());//order 加一分巧克力order=new ChocolateDecorator(order);log.info("费用1:{}",order.cost());log.info("描述1:{}",order.getDescription());log.info("=======================================");Drink order2=new DecafCoffee();log.info("费用2:{}",order2.cost());log.info("描述2:{}",order2.getDescription());order2=new ChocolateDecorator(order2);log.info("费用2:加入一份巧克力{}",order2.cost());log.info("描述2:加入一份巧克力{}",order2.getDescription());}
}
  • 输出信息
描述1:美式咖啡
费用1:7.0
描述1: 牛奶 2.0 && 美式咖啡
费用1:10.0
描述1: 巧克力 3.0 &&  牛奶 2.0 && 美式咖啡
费用1:13.0
描述1: 巧克力 3.0 &&  巧克力 3.0 &&  牛奶 2.0 && 美式咖啡
=======================================
费用2:1.0
描述2: 无因咖啡 
费用2:加入一份巧克力4.0
描述2:加入一份巧克力 巧克力 3.0 &&  无因咖啡 

源码中的使用(InputStream)
在这里插入图片描述

public abstract class InputStream implements Closeable{}//是一个抽象类,即Component
public class FilterInputStream extends InputStream{//是一个装饰者类Decoratorprotected volatile InputStream in //被装饰的对象 }
class DataInputStream extends FilterInputStream implements DataInput{//FilterInputStream子类,
http://www.dtcms.com/wzjs/118417.html

相关文章:

  • 手机兼职seo学途论坛网
  • 厦门网站建设解决方案百度网站流量统计
  • 广州市城市建设网站电商运营推广
  • 做网站的公司有哪些seo营销是什么意思
  • 旅游网站怎么自己做怎么推广游戏代理赚钱
  • 昆明百度网站建设nba常规赛
  • 国外开源代码网站seo网站诊断文档案例
  • 临安城市建设公司网站全国疫情最新名单
  • 电脑做微信推送的网站求购买链接
  • 惠州外贸网站建设公司个人免费网站申请注册
  • 网站搭建制作网络营销费用预算
  • 太原在线网站制作网络营销平台有哪些?
  • 购买保险的网站seo排名优化首页
  • 辛集市建设局网站上海百度seo公司
  • 设计制作小乐器怎样优化标题关键词
  • 不用收费的软件乐陵seo外包
  • wordpress首页显示vip标识seo推广话术
  • 个人网站名称怎么写重庆网站页面优化
  • 为了做宣传网站而注册公司百度推广费2800元每年都有吗
  • 查看网站建设的特点常州网站建设
  • 各大招聘网站企业产品网络推广
  • 个人网站怎么自己备案惠州seo关键词
  • 商城网站哪个公司做的好网页设计模板网站免费
  • 衡水 网站开发seo规则
  • 运维网站建设汕头百度网络推广
  • 网站开发的需求文档模板google search
  • 湖北鼎天宏图建设工程有限公司网站网络营销概念
  • 嘉兴做网站的网页推广方案
  • 打造品牌建设3分钟搞定网站seo优化外链建设
  • 网站建设技术方面论文新品怎么推广效果最好