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

上海网站建设口碑好郑州seo管理

上海网站建设口碑好,郑州seo管理,中国建设银行网站是什么,大姚网站建设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/141325.html

相关文章:

  • 云服务器怎么发布网站外包公司的优势和劣势
  • 设计公司网站设计南京seo
  • 南宁旅游网站建设电商怎么注册开店
  • 营销网站建设推广2345网址大全设主页
  • 购物网站建设代理商网站用户体验优化
  • 已购买域名 如何做网站南宁seo团队哪家好
  • 定制彩票网站开发外贸网站哪个比较好
  • 搜索引擎优化seo的策略主要有北京网络seo
  • 用ps怎么做网站的效果图淘宝关键词排名怎么查
  • 不懂代码用cms做网站网址关键词查询网站
  • 网站图片怎么做白色背景站长工具外链查询
  • 聊城网站建设价位域名归属查询
  • 有什么网站可以做婚庆视频素材搜索电影免费观看播放
  • 天津企业模板建站哪个好泰安网站seo推广
  • 响应式中文网站模板西安网站建设公司电话
  • 南京电商网站建设网站关键词优化教程
  • 张家口网站建设哪家服务好如何申请一个网站域名
  • visual studio 2010 网站开发郑州seo培训班
  • 铝合金做网站网站权重怎么提高
  • wordpress个人网站备案管理seo官网优化详细方法
  • 天门网页设计上海seo服务外包公司
  • 邯郸网站建设兼职微信公众号小程序怎么做
  • 长沙房地产网站建设优化一个网站需要多少钱
  • 重庆网站制作多少钱百度收录网站链接入口
  • 南通公司网站制作企业营销推广怎么做
  • 网站建设需要在网络上如何实现网站友情链接代码
  • 哪个网站做淘宝客最合适岳阳网站界面设计
  • 网站公安备案注意事项360推广官网
  • 怎么做类似清风dj网站推广的几种方式
  • 河南省建设厅网站总经济师排名软件下载