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

如何制作网站页面2024最火的十大新闻

如何制作网站页面,2024最火的十大新闻,网站做支付借口多少钱,搜索网站大全装饰者模式(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/499475.html

相关文章:

  • 武汉logo设计公司网站seo批量查询工具
  • 淘宝网站模板是什么做的深圳网站设计
  • 青海营销网站建设多少钱如何提高网站在搜索引擎中的排名
  • 商业网站建设知识点网站seo关键词设置
  • 在线商城网站备案网站出租三级域名费用
  • 企业做网站哪家便宜长沙seo排名扣费
  • 字体设计欣赏网站百度平台
  • 济宁网站建设培训学校seo查询爱站网
  • 论坛搭建 wordpress青岛seo网站建设公司
  • 广东网站开发项目互联网推广的好处
  • 网站建设宽度一般都是多少长沙百度网站推广公司
  • 小户型室内装修设计公司网站搜索引擎优化课程总结
  • 个人网站源代码下载seo就业前景
  • 网站设计标杆企业百度链接提交收录入口
  • 网站页脚需要放什么站内优化主要从哪些方面进行
  • 帮企业建设网站保密合同搜索引擎怎么做
  • 电子商务网站建设 名词解释搭建网站教程
  • 福州网站制作哪里好互联网营销专家
  • 做快递单的网站会不会是骗人的怎样做网络推广挣钱
  • 网站建设需要哪些技术建站系统源码
  • 招一个程序员可以做网站吗最全磁力搜索引擎
  • 关于网站建设的专家研讨会杭州网站外包
  • 抓取网站后台密码百度官网客服
  • 园区网站建设目的外贸软件排行榜
  • 怎么快速做网站文章在线葡京在线葡京
  • 利用博客做网站排名百度一下官方下载安装
  • 有那些网站做食品供应链的呢自动点击竞价广告软件
  • 青海建设厅网站尚少岩电脑培训学校网站
  • 保定网站制作策划百度小说排行榜2020
  • 行业门户网站设计整站seo免费咨询