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

汕头教育的网站建设百度网络小说排行榜

汕头教育的网站建设,百度网络小说排行榜,做灯饰的企业都会在哪些网站,江苏省政府门户网站建设方案一,定义 定义一个操作中的算法的框架,而将一些步骤延迟到子类中,使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 在面向对象的开发过程中,通常会遇到这样一个问题,我们知道一个算法所需的关键步…

一,定义

定义一个操作中的算法的框架,而将一些步骤延迟到子类中,使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。

在面向对象的开发过程中,通常会遇到这样一个问题,我们知道一个算法所需的关键步骤,并确定了这些步骤的执行顺序,但是,某些步骤的具体实现是未知的,或者说某些步骤的实现是会随着环境的变化而改变的,例如,执行程序的流程大致如下:

1,检查代码的正确性

2,链接相关的类库

3,编译相关代码

4,执行程序

对于不同的程序设计语言,上述四个步骤都是不一样的,但是,他们的执行流程是固定的,这类问题的解决方案就是模板方法模式。

模板方法实际上是封装一个固定流程,就像是一套执行模板一样,第一步该做什么,第二步该做什么都已经在抽象类中定义好。而子类可以有不同的算法实现,在框架不被修改的情况下实现某些步骤的算法替换。

二,使用场景

1,多个子类有公有的方法,并且逻辑基本相同时。

2,重要,复杂的算法,可以把核心算法设计为模板方法,周边的相关细节功能则由各个子类实现。

3,重构时,模板方法模式是一个经常使用的模式,把相同的代码抽取到父类中,然后通过钩子函数约束其行为。

角色介绍:

抽象类:定义了一套算法框架

具体实现类:实现具体算法框架

三,使用案例

在英雄联盟游戏中,玩家要开始一场排位游戏,需要先1,进入匹配队列  2,进入banpick界面3,禁用英雄 4,选择英雄 5,选择符文和召唤师技能 6,进入游戏

如果使用模板模式,怎么来实现呢?

首先定义一个抽象模板类:

public class AbsRank {public void startMate(){System.out.println("进入匹配队列");}public void startBp(){System.out.println("进入bp界面");}public void startBan(){System.out.println("开始禁用英雄");}public void select(){System.out.println("选择英雄");}public void selectSkill(){System.out.println("选择符文和召唤师技能");}public void begin(){System.out.println("开始游戏");}public final void playGame(){startMate();startBp();startBan();select();selectSkill();begin();}
}

定义两个玩家类:

public class Yuanzhen extends AbsRank{@Overridepublic void startBan() {System.out.println("禁用亚索");}@Overridepublic void select() {System.out.println("选择剑圣");}@Overridepublic void selectSkill() {System.out.println("选择惩戒和闪现");}
}
public class Xiaoming extends AbsRank{@Overridepublic void startBan() {System.out.println("禁用赵信");}@Overridepublic void select() {System.out.println("选择蛮王");}@Overridepublic void selectSkill() {System.out.println("选择疾跑和闪现");}
}

使用 :

Yuanzhen yuanzhen =new Yuanzhen();
yuanzhen.playGame();
Xiaoming xiaoming =new Xiaoming();
xiaoming.playGame();

最后结果:

四,总结

模板方法模式用四个字概括就是:流程封装。也就是把某个固定的流程封装到一个final函数中 ,并且让子类能够定制这个流程中的某些或者所有步骤,这就要求父类提取共用的代码,提升代码的复用率,同时也带来了更好的可扩展性。

优点:

1,封装不变部分,扩展可变部分

2,提取公共部分代码,便于维护

缺点:

模板方法会带来代码阅读的难度,会让用户觉得难以理解

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

相关文章:

  • 网站建设教程 epub深圳谷歌推广公司
  • 做网站职校选什么专业百度搜索引擎优化指南最新版
  • 房屋设计图平面图苏州seo关键词优化报价
  • 用html能做企业网站吗网络营销的具体形式种类
  • 军事新闻网关键词优化软件排行
  • 个人网站设计英文网站推广
  • 南昌网站建设公司好么网络营销和电子商务的区别
  • 企业网站建设的注意事项百度秒收录蜘蛛池
  • 如何搭建电影网站网站排名软件利搜
  • 手机网站分辨率做多大百度一下照片识别
  • 汉口网站推广公司链接制作软件
  • 开发区网站建设网络营销首先要做什么
  • 网站建设质量如何衡量百度sem是什么意思
  • 找图纸的网站厦门网络推广培训
  • 微信、网站提成方案点做阿里指数查询官网入口
  • 网站如何在百度个人网站怎么制作
  • 网站建设教程在线观看站长工具高清
  • 我学的 网站开发 能进华为公司么友情链接交换形式有哪些
  • wordpress 清理百度seo词条优化
  • 深圳网站建设nooqi.cn网站域名ip查询
  • 特价旅游机票网站建设企点qq官网
  • 商城app搭建优秀网站seo报价
  • 交友网站怎么都是做投资的手机怎么做网站免费的
  • 我的网站在百度搜不到网络广告推广
  • 程序外包公司山东网络推广优化排名
  • 以下可以制作二维码的网站为定制网站建设推广服务
  • 关于网站开发的学校衡阳seo优化报价
  • wordpress 图片网站软文营销策划
  • 小程序二维码湖南关键词优化首选
  • 好看的网站链接seosem顾问