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

陕西省建设厅执业资格注册中心网站报名做短裙的视频网站

陕西省建设厅执业资格注册中心网站报名,做短裙的视频网站,网站地图制作,手机wap 网站场景 设计模式-装饰者模式在Java中的使用示例#xff1a; 设计模式-装饰者模式在Java中的使用示例_java装饰者模式例子-CSDN博客 上面装饰器的调用示例如下 AbstarctComputer computer;//要买1台电脑computer new BaseComputer();//加一个内存条computer new MemoryDecor…场景 设计模式-装饰者模式在Java中的使用示例 设计模式-装饰者模式在Java中的使用示例_java装饰者模式例子-CSDN博客 上面装饰器的调用示例如下 AbstarctComputer computer;//要买1台电脑computer new BaseComputer();//加一个内存条computer new MemoryDecorator(computer);//加一个硬盘computer new DiskDecorator(computer);//再加一个内存条computer new MemoryDecorator(computer);System.out.println(computer.getMsg(),总价computer.getPrice()); 下面记录一个它的变形以软件设计师2016年下半年试题六为例 某发票lnvoice由抬头Head部分、正文部分和脚注Foot部分构成。现采用装饰Decorator模式实现打印发票的功能 得到如图6-1所示的类图 注 博客霸道流氓气质-CSDN博客 实现 1、新建发票正文类 public class Invoice {public void printInvoice(){System.out.println(This is the content of the invoice !);} } 2、新建普通装饰器 public class Decorator extends Invoice{protected Invoice ticket;public Decorator(Invoice t){ticket t;}public void printInvoice(){if(ticket !null){ticket.printInvoice();}} } 3、新建抬头装饰器 public class HeadDecorator extends Decorator{public HeadDecorator(Invoice t) {super(t);}public void printInvoice(){System.out.println(This is the header of the invoice!);super.printInvoice();} } 4、新建脚注装饰器 public class FootDecorator extends Decorator{public FootDecorator(Invoice t) {super(t);}public void printInvoice(){super.printInvoice();System.out.println(This is the footnote of the invoice !);} } 5、调用示例 Invoice t new Invoice();Invoice ticket;ticket new HeadDecorator(new FootDecorator(t));ticket.printInvoice();System.out.println(----------------------------);ticket new HeadDecorator(new FootDecorator(null));ticket.printInvoice(); 以上调用输出结果 This is the header of the invoice! This is the content of the invoice ! This is the footnote of the invoice ! ---------------------------- This is the header of the invoice! This is the footnote of the invoice ! 6、分析 基础回顾 子类创建对象时会先调用父类的构造方法然后再调用子类自己的构造方法。 但是如果子类没有显式地定义构造方法会使用默认的无参构造方法。 这就是为什么有时候我们需要重写继承的构造方法的原因。   在继承中子类可以通过super关键字调用父类的构造方法。如果子类没有使用super关键字调用父类的构造方法 Java会自动调用父类的无参构造方法。如果父类没有提供无参构造方法且子类没有显示地调用其他构造方法会导致编译错误   在父类中只有 有参构造函数没有无参构造函数子类如果不写构造函数系统默认创建一个无参构造函数 子类这个无参的构造函数就会去调用父类的无参构造函数时候就出错。 以上链式调用时 ticket new HeadDecorator(new FootDecorator(t));         ticket.printInvoice(); 不好理解可以将其修改为如下便于理解 Invoice t new Invoice();t.printInvoice();FootDecorator footDecorator new FootDecorator(t);footDecorator.printInvoice();Invoice ticket new HeadDecorator(footDecorator);ticket.printInvoice(); 实现过程分步解析 首先是FootDecorator footDecorator new FootDecorator(t) 先调用FootDecorator的构造方法将t(设定地址为Invoice506)通过构造方法传参传递 并在FootDecorator的构造方法中调用super(t)将其传到父类Decorator的构造方法中进行 protected Invoice ticket的属性的赋值。此时父类Decorator的ticker为Invoice506 然后将上面新建的footDecorator(设定地址为FootDecorator509)传递给HeadDecorator的构造方法 此时Invoice t为FootDecorator509在其构造方法中通过super(t)调用父类构造方法并将其赋值给 父类Decorator的protected Invoice ticket所以此时父类Decorator的ticket为FootDecorator509 返回值为HeadDecorator的对象(设定为HeadDecorator511) 然后调用HeadDecorator511的printInvoice方法 在printInvoice方法中先输出 This is the header of the invoice! 然后调用父类Decorator的printInvoice方法 此时父类Decorator的ticket为FootDecorator509不为空所以会调用FootDecorator对象FootDecorator509 的printInvoice方法方法中会先调用其父类的printInvoice方法FootDecorator509父类对象的ticket为Invoice506 Invoice506调用printInvoice方法会输出 This is the content of the invoice ! 然后FootDecorator509的printInvoice方法继续输出 This is the footnote of the invoice !
http://www.w-s-a.com/news/992425/

相关文章:

  • 门户型网站开发难度网站导航栏有哪些
  • 推荐做任务网站软件定制开发哪家好
  • 邯郸兄弟建站第三方仓储配送公司
  • 商丘家具网站建设wordpress 添加代码
  • 基础建设的网站有哪些内容成都科技网站建设咨询电话
  • 券多多是谁做的网站招聘网站开发模板
  • 网站主机一般选哪种的企业数字展厅
  • 网站建设该如何学衡水建设局网站首页
  • 高校网站建设工作总结番禺网站开发哪家好
  • 苏州 网站的公司wordpress主页代码
  • 怎么用html做图片展示网站外贸网站建设推广费用
  • 可以做本地生活服务的有哪些网站中油七建公司官网
  • 如何建设谷歌网站网站建设优点
  • 做网站的目标是什么产品宣传片制作公司
  • 柳州建设公司网站辽宁建设工程信息网评标专家入库
  • 合肥建设学校官方网站excel导入wordpress
  • 禹城网站设计做网站需要考虑哪些
  • 深圳做营销网站建设wordpress添加文章封面
  • 阿里云的网站建设方案织梦和wordpress哪个安全
  • 聊城网站建设公司电话wordpress怎么重新配置文件
  • 创业如何进行网站建设泰州公司注册
  • 免费网站建设培训学校手机百度高级搜索入口在哪里
  • 建站经验安徽六安发现一例新冠阳性检测者
  • 滨州内做网站系统的公司汕头网络营销公司
  • 苏州制作网站的公司哪家好wordpress google搜索
  • c语言做项目网站wordpress博客被书为什么还
  • 企业建站用什么系统网站建设补充协议模板
  • 常州网站关键字优化淘客网站怎么做排名
  • 全flash网站制作教程网站做进一步优化
  • 建设网站步骤是如何做自媒体和网站签约赚点击