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

上海网站建设口碑好十大免费网站推广平台

上海网站建设口碑好,十大免费网站推广平台,呼和浩特网络推广公司,网站开发所用的技术22.模板模式 模板方法(Template Method)作为Java的设计模式之一,一个词概括其优势特点那就是:抽象步骤 首先我们应该抽出共通的东西做一个父类(Base类),其次具体的蛋糕制作由子类进一步实现&…

22.模板模式
模板方法(Template Method)作为Java的设计模式之一,一个词概括其优势特点那就是:抽象步骤
首先我们应该抽出共通的东西做一个父类(Base类),其次具体的蛋糕制作由子类进一步实现,每一种制作方式我们就拓展一个子类

UML类图:
在这里插入图片描述

仔细观察Cake类,你会发现make方法是这个类的核心,make()中便是执行制作的核心代码,为了尽可能将共通的东西都留在父类(base类),我们要进一步将make()中的代码拆分,让其变成众多子步骤方法如下:
一、抽象类:蛋糕

public abstract class Cake {public final void make(){makeStart();//开始制作makeCakeGerm();//制作蛋糕胚makeCream();//怎么做wipeCakeGerm();//将奶油抹到蛋糕胚上piping();//怎么抹makeFinish();//结束制作}private void makeStart(){System.out.println("开始制作蛋糕");}private void makeCakeGerm(){System.out.println("制作蛋糕胚");}public abstract void makeCream();private void wipeCakeGerm(){System.out.println("将奶油抹到蛋糕胚上");}public abstract void piping();private void makeFinish(){System.out.println("结束制作蛋糕");}
}

我们可以看到已经把make方法中的步骤进一步拆分细化,有先做蛋糕胚,再做奶油,然后涂抹到蛋糕胚上,最后裱花
我们来注意几个细节:

  • 1、cake类成为了抽象类,没啥好说的,方法都抽象了
  • 2、make方法增加了final修饰,不希望子类覆写这个方法,防止流程被更改
  • 3、步骤抽象化,这是模板方法的核心,步骤的具体实现交由子类自行实现,每一种蛋糕都可以用不同的子类独立实现,这样可读性就大大提高了,而且扩展也非常方便,只需要实现一个新的子类即可

接下来我们实现具体的蛋糕子类:
我们这里可以这样想,蛋糕胚基本上没什么差别,抹奶油也都是常规操作,不一样的是制作什么样的奶油以及裱花的样式

蛋糕A:

public class Cake_A extends Cake {@Overridepublic void makeCream() {System.out.println("植物奶油 抹茶味");}@Overridepublic void piping() {System.out.println("裱花八朵");}
}

蛋糕B:

public class Cake_B extends Cake {@Overridepublic void makeCream() {System.out.println("动物奶油 巧克力味");}@Overridepublic void piping() {System.out.println("裱个生日快乐");}
}

测试类:

public class TemplateTest {public static void main(String[] args) {Cake cake_a = new Cake_A();Cake cake_b = new Cake_B();cake_a.make();System.out.println("*********************");cake_b.make();}
}

输出结果:

开始制作蛋糕
制作蛋糕胚
植物奶油 抹茶味
将奶油抹到蛋糕胚上
裱花八朵
结束制作蛋糕开始制作蛋糕
制作蛋糕胚
动物奶油 巧克力味
将奶油抹到蛋糕胚上
裱个生日快乐
结束制作蛋糕
http://www.dtcms.com/wzjs/54714.html

相关文章:

  • 建设钓鱼网站源码小吃培训
  • wordpress 加密东莞seo托管
  • 天津教育网站官网乔拓云建站平台
  • 做一个一般的网站需要多少钱软文推广营销平台
  • 做网站的问题重庆疫情最新消息
  • jsp鲜花网站开发源代码在线一键建站系统
  • 做网站设像素全自动引流推广软件app
  • 六盘水市网站建设计算机培训机构排名前十
  • 阿里万网站建设快速刷排名的软件最好
  • 郑州医疗网站建设搜索引擎营销总结
  • 做网站如何挣钱嘉兴seo
  • 做外贸需要英文网站网页制作工具有哪些
  • 公司网站建设业务文案seo站长工具下载
  • 网站做的好的网站推广软文
  • 中国会议营销网站竞价排名点击
  • 青岛有名的互联网公司海淀区seo搜索引擎
  • 纯mvc做的都有那些网站流量平台
  • 成立网站网站收录申请
  • 苹果开发者官方网站什么叫百度竞价推广
  • 宣武网站建设服务福建百度代理公司
  • wordpress获取分类别名零基础seo入门教学
  • 线上网站设计线下营销推广方式有哪些
  • 申请网站建设百度推广助手app下载
  • 宁乡建设局网站成都网站建设方案推广
  • 手机网站 制作教程soso搜索引擎
  • 软件技术好找工作吗长沙seo网络公司
  • 建筑公司网站广告宣传语市场监督管理局职责范围
  • 佛山网站建设报价互联网营销师培训课程免费
  • 做外贸英语网站国内网络销售平台有哪些
  • 九亭镇村镇建设办官方网站如何推广公司