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

电子工程专辑网站电子商务有限公司怎么注册

电子工程专辑网站,电子商务有限公司怎么注册,网页设计与制作教程资源,企业管理软件选型要注意哪些因素一.概念 定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 ​ 使用了JAVA的继承机制,在抽象类中定义一个模板方法,该方法引用了若干个抽象方法&#xff0…

一.概念

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

​ 使用了JAVA的继承机制,在抽象类中定义一个模板方法,该方法引用了若干个抽象方法(由子类实现)或具体方法(子类可以覆盖重写);

​ 其实就是JAVA的继承以及抽象方法、重写覆盖的使用;

​ 注意:为防止恶意操作,一般模板方法都加上 final 关键词

二.角色

  • AbstractClass(抽象模板):定义了一个模板方法和若干抽象方法和具体方法,

  • ConcreteClass(具体模板):继承抽象模板类并实现抽象方法

三.优缺点

1.优点
  • 封装不变部分,扩展可变部分。
  • 提取公共代码,便于维护。
  • 行为由父类控制,子类实现。
2.缺点
  • 每一个不同的实现都需要一个子类来实现,导致类的个数增加,使得系统更加庞大。

四.适用场景

  • 多个子类有公有的方法,而且逻辑基本相同时.

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

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

五.模板模式实现

1.场景

我们将创建一个定义操作的 Game 抽象类,其中,模板方法设置为 final,这样它就不会被重写。Cricket 和 Football 是扩展了 Game 的实体类,它们重写了抽象类的方法。

TemplatePatternDemo,我们的演示类使用 Game 来演示模板模式的用法。

2.创建一个抽象类

它的模板方法被设置为 final。

public abstract class Game {abstract void initialize();abstract void startPlay();abstract void endPlay();//模板public final void play(){//初始化游戏initialize();//开始游戏startPlay();//结束游戏endPlay();}
}
3.创建扩展的子类
Cricket 类
public class Cricket extends Game {@Overridevoid endPlay() {System.out.println("Cricket Game Finished!");}@Overridevoid initialize() {System.out.println("Cricket Game Initialized! Start playing.");}@Overridevoid startPlay() {System.out.println("Cricket Game Started. Enjoy the game!");}
}
Football 类
public class Football extends Game {@Overridevoid endPlay() {System.out.println("Football Game Finished!");}@Overridevoid initialize() {System.out.println("Football Game Initialized! Start playing.");}@Overridevoid startPlay() {System.out.println("Football Game Started. Enjoy the game!");}
}
4.测试
public class TemplatePatternDemo {public static void main(String[] args) {Game game = new Cricket();game.play();System.out.println();game = new Football();game.play();      }
}

http://www.yayakq.cn/news/403222/

相关文章:

  • 单位网站建设申请高端网站定制站
  • 2024装修图片100张福州网站建设优化
  • 广州比较好的网站建设专业的网站建设公司排名
  • 旅游网站logowordpress 导航栏 搜索
  • 学生怎样建设网站wordpress 文件管理插件
  • 如何为一个网站做app大气网络公司网站源码
  • wordpress多城市子站做网站必须会编程吗
  • 网站公司技术交接WordPress出现归档
  • 免费1级做爰片在线观看 历史网站长沙关键词优化推荐
  • 国内专门做旅游攻略的网站天猫网站怎么做
  • 直播网站源码免费网站开发的最后5个阶段
  • 网络公司网站程序网站版面风格
  • 建站什么程序好游戏推广文案
  • asp网络公司程序 网站公司企业建设源码 网站设计模板seo优化中国建设银行网址多少
  • 自定义建设网站新手学网络运营要多久
  • 安阳网站制作 网络服务重庆哪个区最繁华
  • 柳城企业网站开发公司巴基斯坦人做网站怎么样
  • 做多级分销的网站微信开放平台是什么
  • 创建网站的费用网站建设培训一般多少钱
  • 上海如何做网站wordpress 重启
  • 大悟网站开发百度高级搜索页面
  • 网站标题主关键词做电影网站要几G空间的
  • 银川网站网站建设公众号的网站怎么做的
  • 宜都网站制作宝安网站设计流程
  • 扁平化网站源码网站制作属于什么科目
  • 设计师图片素材网站wordpress招商平台
  • 怎么给网站加ico图标wordpress主题不更新
  • 通用网址查询网站免费开发个人小程序的平台
  • 昆明网站制作工具石家庄制作网站的公司简介
  • 顺义做网站同学网站后台模板 下载