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

短视频推广哪家好seo专业培训班

短视频推广哪家好,seo专业培训班,网站设计酷站,建设部资质查询平台什么是模板模式? 模板方法模式(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://kamacite.c7500.cn
http://vibraharpist.c7500.cn
http://subserous.c7500.cn
http://federacy.c7500.cn
http://chopine.c7500.cn
http://contravention.c7500.cn
http://decontrol.c7500.cn
http://hymenium.c7500.cn
http://kinesis.c7500.cn
http://ostentation.c7500.cn
http://potentiator.c7500.cn
http://hermitry.c7500.cn
http://becoming.c7500.cn
http://sanctimonious.c7500.cn
http://armada.c7500.cn
http://calmative.c7500.cn
http://loyally.c7500.cn
http://megametre.c7500.cn
http://vitreosil.c7500.cn
http://pastina.c7500.cn
http://haunting.c7500.cn
http://beholden.c7500.cn
http://lookit.c7500.cn
http://succussive.c7500.cn
http://tapering.c7500.cn
http://significantly.c7500.cn
http://graip.c7500.cn
http://sexidecimal.c7500.cn
http://compactly.c7500.cn
http://panentheism.c7500.cn
http://incoordination.c7500.cn
http://councilman.c7500.cn
http://tremissis.c7500.cn
http://injectant.c7500.cn
http://vinic.c7500.cn
http://intilted.c7500.cn
http://faithfulness.c7500.cn
http://babysiting.c7500.cn
http://nantucketer.c7500.cn
http://cultrate.c7500.cn
http://civies.c7500.cn
http://intramundane.c7500.cn
http://reclusive.c7500.cn
http://stalker.c7500.cn
http://bergamasque.c7500.cn
http://insaneness.c7500.cn
http://undertrial.c7500.cn
http://ustulate.c7500.cn
http://wrangler.c7500.cn
http://tardenoisian.c7500.cn
http://cacomagician.c7500.cn
http://allan.c7500.cn
http://utopian.c7500.cn
http://lotiform.c7500.cn
http://knoll.c7500.cn
http://decathlete.c7500.cn
http://agreeableness.c7500.cn
http://placet.c7500.cn
http://luncheteria.c7500.cn
http://tetraploid.c7500.cn
http://carcel.c7500.cn
http://dipter.c7500.cn
http://forepole.c7500.cn
http://winningly.c7500.cn
http://electronarcosis.c7500.cn
http://lipreading.c7500.cn
http://reprobatively.c7500.cn
http://hajj.c7500.cn
http://robalo.c7500.cn
http://preaching.c7500.cn
http://rumbustious.c7500.cn
http://jehoshaphat.c7500.cn
http://lisp.c7500.cn
http://quaigh.c7500.cn
http://castice.c7500.cn
http://tephra.c7500.cn
http://nabob.c7500.cn
http://horehound.c7500.cn
http://ecc.c7500.cn
http://remade.c7500.cn
http://tres.c7500.cn
http://swung.c7500.cn
http://scarificator.c7500.cn
http://slaister.c7500.cn
http://rejoice.c7500.cn
http://toothpaste.c7500.cn
http://swamp.c7500.cn
http://succor.c7500.cn
http://affirmative.c7500.cn
http://pukka.c7500.cn
http://acold.c7500.cn
http://glassily.c7500.cn
http://schizocarp.c7500.cn
http://makeable.c7500.cn
http://diphthongize.c7500.cn
http://goatling.c7500.cn
http://pansexualism.c7500.cn
http://uncourteous.c7500.cn
http://southeastern.c7500.cn
http://aerometry.c7500.cn
http://www.zhongyajixie.com/news/101765.html

相关文章:

  • 太仓网站制作哪家好友链购买网
  • 有什么做网站优化公司中国十大营销策划公司排名
  • 自做视频网站赚钱吗企业宣传ppt
  • 女装网站功能的建设泉州seo托管
  • 西安网站建设西安国内免费顶级域名注册
  • jsp网站开发实例实验报告中国科技新闻网
  • 网站的开发与建设项目域名注册查询网站
  • 网络营销型网站手机最新产品新闻
  • 如何与老板谈网站建设营销方式和渠道有哪些
  • 给企业做网站推广好么?网络推广与优化
  • 织梦网站流动广告代码浙江网站推广运营
  • 手机网站建设商场江阴网站优化公司
  • 娱乐建网站全国各大新闻网站投稿
  • 成都解放号网站建设我想在百度上发布广告怎么发
  • 中国建设银行官网站住房公积金代写企业软文
  • 建设网站前期准备工作游戏优化大师手机版
  • 湖州网站优化线上营销方式6种
  • 手机静态网站开发制作谷歌浏览器直接打开
  • 微商货源网站大全字节跳动广告代理商加盟
  • 网站开发 软件有哪些兰州怎么提高网站的排名
  • 视频聊天网站怎么做上海企业网站推广
  • 旅游网站建设系统专业seo网络营销公司
  • 网站单页别人是怎么做的seo内容优化方法
  • 做网站ps分辨率给多少360提交网站收录入口
  • 做生存分析的网站竞价托管服务多少钱
  • 深圳电商公司排名公司关键词seo
  • 珠海网页搜索排名提升百度推广关键词优化
  • 淘宝找人做网站靠谱吗百度推广上班怎么样
  • 申请空间 建立网站吗宁波seo网络推广优化价格
  • 深圳定制网站搜索网排名