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

建设银行网站可以查保单吗网站建设哪家好 万维科技

建设银行网站可以查保单吗,网站建设哪家好 万维科技,网站建设ssc源码平台,wordpress如何二次开发什么是模板模式? 模板方法模式(Template Method Pattern),又叫模板模式(Template Pattern),在一个抽象类公开定义了执行它的方法的模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行…

什么是模板模式?

模板方法模式(Template Method Pattern),又叫模板模式(Template Pattern),在一个抽象类公开定义了执行它的方法的模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。
简单说,模板方法模式,定义一个操作中的算法的骨架,而将一些步骤延迟到子类中,使得子类可以不改变一个算法的结构,就可以重定义该算法的某些特定步骤,这种类型的设计模式属于行为型模式。

Java设计模式——模板方法模式【Template Method Pattern】作者:止步前行
简单的说,我要做咖啡,有的咖啡放糖,有的放牛奶,有的啥也不放。但是放调味品之前的操作是一样的,比如清洗咖啡豆,研磨咖啡豆等等操作。
我们怎么在OOP编程中体现出来他们的相同与不同呢?
这时,就可以用到模板模式,主要思想是:
把相同的步骤写在父类当中,不同的步骤成为抽象方法,让不同的子类继承父类后,重写父类的方法。
这就实现了,相同的方法不用动,而不同的方法各自实现的需求。

代码演示

简单的模板模式

父类:

public abstract class Building {//模板方法:做成final,不让子类去覆盖final void make(){step1();step2();step3();step4();}void step1(){System.out.println("画图纸");}void step2(){System.out.println("盖地基");}void step3(){System.out.println("往上搭");}// 抽象方法,子类继承后各自重写。abstract void step4();
}

子类:

public class JingZiTa extends Building{@Overridevoid step4() {System.out.println("搭金塔");}
}

Main方法:

public class Client {public static void main(String[] args) {JingZiTa jingZiTa = new JingZiTa();jingZiTa.make();}
}

效果:


这就是搭金字塔的四个步骤。

进阶:带有钩子函数的模板模式

如果我想建个房子,3个步骤就够了,根本不需要第四步。怎么办?
这时,我们定义一个方法,叫做钩子函数,当子类又自定义需求时,就可以重写它。(这个函数不是必须要重写的)

父类:

public abstract class Building {void make(){step1();step2();step3();// 进行判断,是否要执行第四步。if(shouldStep4()){step4();}}void step1(){System.out.println("画图纸");}void step2(){System.out.println("盖地基");}void step3(){System.out.println("往上搭");}/*** 钩子函数* @return 默认开启,执行第四步。*/boolean shouldStep4(){return true;}abstract void step4();
}

子类


public class JingZiTa extends Building{@Overridevoid step4() {System.out.println("搭金塔");}// 返回false,不执行第四步!@Overrideboolean shouldStep4() {return false;}
}

Main方法

public class Client {public static void main(String[] args) {JingZiTa jingZiTa = new JingZiTa();jingZiTa.make();}
}

效果:

在这里插入图片描述

模板模式的优缺点

优点:

  1. 最大程度的复用代码。
  2. 既统一了算法,也提供了很大的灵活性。

缺点:

每一个具体实现,都要新增一个类。造成了系统的庞大。

http://www.yayakq.cn/news/523648/

相关文章:

  • 网站建设方案流程只做鱼网站
  • 网站写手怎么做中国做的最好的网站有哪些
  • 东莞南城网站开发公司电话怎么建设自己公司的网站首页
  • 也买酒技术网站建设互联网挣钱好项目
  • 网站开发与服务器匹配湖南工业大学网址
  • 在哪里推广网站wordpress文件
  • 做网站哪些制作照片
  • 大学路网站建设泰安如何开发商城app开发
  • logo设计网站参考重庆住房和城乡建设厅官方网站
  • 北京建设监理网站临淄网站制作首选专家
  • 用html5做网站百度经验网站seo置顶 乐云践新专家
  • 高端网站建设 企业网站建站网页考试题及答案
  • 相城区网站建设百度搜索引擎怎么做
  • wordpress网站入口网站搜索框代码怎么做
  • 昆明seo网站建设费用关键词在线下载
  • 深圳网站建设 设计首选深圳市icp网站 是什么意思
  • 网站建设优化需要懂那些知识thinkphp5来做网站吗
  • 做多语言网站不会翻译怎么办厦门网站优化公司
  • 客户网站留言域名备案未做网站
  • 网站超链接用什么如何引用网站上的资料做文献
  • 学做面包的网站wordpress视频床
  • 自己做网站自己买服务器网站建设什么服务器好
  • 广州市网站设计公司wordpress关闭发表评论
  • 做网站外包的公司好干嘛大学网站建设与功能开发
  • 安徽质量工程建设网站单页营销网站设计
  • 网站如何做京东联盟哪些公司网站做的好
  • 好网站目录自媒体营销模式有哪些
  • wordpress网站翻译插件优酷网站模板下载
  • 桐乡建设局网站国内做app软件开发最好的公司
  • 中小企业为什么要建网站深圳做网站服务公司