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

网站建设问卷调查表好用的ppt模板网站免费

网站建设问卷调查表,好用的ppt模板网站免费,做阿里巴巴网站应怎样定位,wordpress 点击加微信二维码模板方法模式 问题背景解决方案:模板方法模式基本介绍解决问题代码示例运行结果 钩子方法注意事项和细节 问题背景 豆浆的制作: 1)制作豆浆的流程:选材—>添加配料—>浸泡—>放到豆浆机打碎 2)通过添加不同…

模板方法模式

  • 问题背景
  • 解决方案:模板方法模式
    • 基本介绍
    • 解决问题
    • 代码示例
    • 运行结果
  • 钩子方法
  • 注意事项和细节

问题背景

豆浆的制作:

1)制作豆浆的流程:选材—>添加配料—>浸泡—>放到豆浆机打碎
2)通过添加不同的配料,可以制作出不同口味的豆浆
3)选材、浸泡和放到豆浆机打碎这几个步骤对于制作每种口味的豆浆都是一样的
4)请使用模板方法模式完成

说明:因为模板方法模式,比较简单,很容易就想到这个方案,因此就直接使用,不再使用传统的方案来引出模板方法模式

解决方案:模板方法模式

基本介绍

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

解决问题

首先我们来画出UML类图:
在这里插入图片描述
1)SoyaMikl抽象类是豆浆的制作类
2)select()方法是选择黄豆,这一步所有豆浆都是通用的,所以在SoyaMilk抽象类就可以实现
3)add()方法是添加配料,因为添加配料不同,制作出的豆浆口感不同,所以我们在SoyaMilk抽象类中实现一个抽象方法,交给子类去实现。
4)soak()方法是浸泡黄豆和配料,beat()方法是放到豆浆机打碎,这两个方法都是通用的,所以也在抽象类中实现。
5)make()方法是对外提供的一个调用方法,make()方法调用了下面4个方法,对于调用者来说直接调用SoyaMilk的make()方法就可以制作豆浆了

代码示例

public abstract class SoyaMilk {/*** 制作豆浆*/public void make() {select();add();soak();beat();}/*** 挑选黄豆*/private void select() {System.out.println("挑选上好的黄豆");}/*** 添加配料*/public abstract void add();/*** 浸泡*/private void soak() {System.out.println("将黄豆和配料一起浸泡三个小时");}/*** 打碎*/private void beat() {System.out.println("放到豆浆机中打碎");}
}
/*** 红豆豆浆*/
public class BlackBeanSoyaMilk extends SoyaMilk{@Overridepublic void add() {System.out.println("加入配料红豆");}
}
/*** 花生豆浆*/
public class PennutSoyaMilk extends SoyaMilk{@Overridepublic void add() {System.out.println("加入配料花生");}
}
public class Client {public static void main(String[] args) {// 制作红豆豆浆SoyaMilk blackBeanSoyaMilk = new BlackBeanSoyaMilk();blackBeanSoyaMilk.make();// 制作花生豆浆SoyaMilk pennutSoyaMilk = new PennutSoyaMilk();pennutSoyaMilk.make();}
}

运行结果

在这里插入图片描述

钩子方法

在模板方法模式的父类中,我们可以定义一个方法,它默认不做任何事,子类可以视情况要不要覆盖它,该方法称为“钩子”

注意事项和细节

1)基本思想是:算法只存在于一个地方,也就是在父类中,容易修改。需要修改算法时,只要修改父类的模板方法或者已经实现的某些步骤,子类就会继承这些修改
2)实现了最大化代码复用。父类的模板方法和已实现的某些步骤会被子类继承而直接使用。
3)既统一了算法也提供了很大的灵活性。父类的模板方法确保了算法的结构保持不变,同时由子类提供部分步骤的实现。
4)该模式的不足之处:每一个不同的实现都需要一个子类实现,导致类的个数增加,使得系统更加庞大
5)一般模板方法都加上final关键字, 防止子类重写模板方法
6)模板方法模式使用场景:当要完成在某个过程,该过程要执行一系列步骤,这一系列的步骤基本相同,但其个别步骤在实现时可能不同,通常考虑用模板方法模式来处理

http://www.sczhlp.com/news/52417/

相关文章:

  • 哪些网站做的比较好看的图片软件app开发公司哪家好
  • 做招聘的h5用哪个网站python破解wordpress
  • 重庆企业网站开发方案手机访问网站自动跳转
  • wordpress网站vip可看中国互联网协会招聘
  • 国外网站搭建平台百度网页版登录首页
  • 建设部网站王尚春网站建设如何避免陷入模仿误区
  • 如何用织梦搭建网站郑州网站建设培训班
  • 广东网站建设开发公司深圳网站建设方案优化
  • 网站建设完成后如何备案收录提交
  • 专做外贸衣服鞋网站有哪些为什么大网站的百度快照更新速度慢还排第一
  • 网站高端设计公司动漫制作专业好吗
  • 常州网站建设公司哪个好世界最受欢迎的免费架站平台
  • dedecms做视频网站三五做网站
  • 浙江网络公司网站建设做书封面的模板下载网站
  • 自己做的网站为什么不显示图片三水区网站建设
  • 新手必看:如何使用问小白生成mp.jobleap4u.com站点简介精致的网页(含精品prompt分享)
  • 贵州省建设局八大员报名网站厦门园网站忱建设
  • 自己做卖东西的网站做网站好还是做商城好
  • 公司建网站多少钱一年广州住建厅官方网站
  • 淘宝做海淘产品 网站折扣变化快中国建筑网络教育平台
  • 欢迎访问中国建设银行网上银行网站房地产网站建设与优化分析
  • 威联通231p做网站wordpress 响应慢
  • 单页营销网站后台手机app 网站建设
  • 网站被镜像怎么办新乡网络网站建设
  • 上海专业网站开发wordpress octopress
  • 深圳个人网站建设东阳建设公司网站
  • 网站网页制作及优化wordpress本地批量传文章
  • 网络科技网站排名网站建设公司费
  • 手机网站 优化免费主题网站
  • 关于网络连接——江南布衣项目实施