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

创业做网站APP开发整站快速排名

创业做网站APP开发,整站快速排名,崇义做网站,做护士题的那个网站是什么目录 一,模板模式 二,特点 三,组成部分 四,实现步骤 五,案例 一,模板模式 模板模式(Template Pattern)是一种行为型设计模式,它在超类中定义了一个算法的骨架&#…

目录

一,模板模式

二,特点

三,组成部分

四,实现步骤

五,案例


一,模板模式

模板模式(Template Pattern)是一种行为型设计模式,它在超类中定义了一个算法的骨架,将一些步骤延迟到子类中实现。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法的某些特定步骤。

二,特点

  1. 算法骨架:在超类中定义了算法的骨架,即算法的整体步骤。

  2. 钩子(Hooks):在模板方法中定义的一些方法,它们在超类中不做具体实现,而是在子类中根据需要重写。

  3. 抽象操作:在模板方法中定义的一些抽象方法,它们在子类中必须被实现。

  4. 具体操作:在模板方法中定义的一些具体方法,它们在超类中已经实现,也可以在子类中被覆盖。

  5. 扩展性:模板模式通过在子类中覆盖钩子和抽象操作,可以很容易地扩展新的功能。

三,组成部分

  • AbstractClass:定义了模板方法和一些抽象操作,以及一个或多个钩子方法。
  • ConcreteClass:继承自AbstractClass,实现模板方法中的抽象操作,也可以覆盖钩子方法。

四,实现步骤

  1. 定义一个抽象类AbstractClass,其中包含模板方法和其他一些操作。
  2. AbstractClass中实现模板方法,调用所有必要的操作。
  3. 定义一个或多个具体操作,这些操作在抽象类中是抽象的,需要在子类中实现。
  4. 定义钩子方法,它们在模板方法中被调用,但在抽象类中不做具体实现。
  5. 创建一个或多个继承自AbstractClass的子类,实现抽象操作,并根据需要覆盖钩子方法。

五,案例

abstract class CafeMaker {public final void makeCoffee(){//模板方法 定义了制作咖啡的步骤putWaterInMachine();putCoffeeBeansInMachine();cook();pourInCup();}protected void cook(){//钩子方法System.out.println("使用机器烹制");}protected abstract void putWaterInMachine();//定义抽象方法protected abstract void putCoffeeBeansInMachine();//定义抽象方法private void pourInCup() {//具体方法System.out.println("将咖啡倒入杯子里");}
}
class EspressoMaker extends CafeMaker{@Overrideprotected void putWaterInMachine() {System.out.println("加入热水");}@Overrideprotected void putCoffeeBeansInMachine() {System.out.println("加入咖啡豆");}
}
class Client {public static void main(String[] args) {CafeMaker maker = new EspressoMaker();maker.makeCoffee();}
}

在这个例子中,CafeMaker 是一个抽象类,它定义了制作咖啡的算法骨架(模板方法 makeCoffee()),同时定义了两个抽象方法 putWaterInMachine()putCoffeeBeansInMachine(),这些方法由具体子类实现。此外,它还包含一个钩子方法 烹制() 和一个具体方法 pourInCup()

EspressoMakerCafeMaker 的具体实现,它继承自 CafeMaker 并提供了 putWaterInMachine()putCoffeeBeansInMachine() 方法的实现。

客户端代码通过创建 EspressoMaker 的实例,并调用 makeCoffee() 方法来制作咖啡。

这个模板模式的例子展示了如何通过定义算法的骨架和推迟某些步骤到子类中实现,来达到代码复用和扩展性的目的。

http://www.tj-hxxt.cn/news/22207.html

相关文章:

  • 大战网站建设sem优化师是做什么的
  • 摇钱树手机论坛网站seo全称
  • 根据网站做软件seo企业培训班
  • 佛山网站优化公司排名沈阳今日新闻头条
  • 网站虚拟主机可以做伦理片吗百度关键字搜索排名
  • 做网站常用的软件石家庄seo关键词
  • 自己搞个网站seo如何提高排名
  • 大气网站案例网站收录大全
  • 网站做百度推广有没有效果网站推广的渠道有哪些
  • 佛山网站建设哪家公司好站长工具综合查询
  • 遵义县住房和城乡建设局网站余姚关键词优化公司
  • 做蛋糕网站友情链接大全
  • 做一家电商网站需要多少钱优化网站seo方案
  • ps图做ppt模板下载网站如何写好一篇软文
  • 腾讯的网站是谁做的软文写作兼职
  • 30g月流量网站软文街怎么样
  • 群晖 做网站服务器网站推广建站
  • wordpress博客怎么访问临沂seo排名外包
  • 贵州做网站的公司小程序推广接单平台
  • 滕州网站建设培训百度联盟点击广告赚钱
  • 国外做的比较的ppt网站有哪些方面国际站seo优化是什么意思
  • 做网站和app有什么区别友情链接怎么互换
  • wordpress 主题安全建设seo优化排名服务
  • 淘宝做轮播广告哪个网站好网站搭建一般要多少钱
  • 随州网站制作公司品牌宣传方案
  • 网站开发技术技巧软文广告文案案例
  • 花都网站建设设计西安网站建设
  • 做企业网站注意什么网络推广视频
  • 高品质外贸网站建设百度竞价广告投放
  • wordpress设置html电子商务沙盘seo关键词