首页 > 其他分享 >模板方法设计模式基础知识!

模板方法设计模式基础知识!

时间:2022-09-28 10:04:27浏览次数:48  
标签:重写 void 基础知识 设计模式 方法 public 模板


模板方法设计模式
该设计模式解决的问题是:具有固定算法(步骤)的应用。但这些算法步骤,又针对不同的用户(情况)具有不同的实现方式。

在该设计模式中,具有两大类方法: 模板方法,步骤方法。
步骤方法又根据其实现情况,分为 三种:抽象方法、最终方法、钩子方法。
                        抽象方法:要求子类必须要实现的方法。
                        最终方法:由final修饰的方法,不能被子类重写的方法。
                        钩子方法:具有默认的实现,但可以被子类重写的方法。

// 抽象方法只能出现在抽象类中
// 但抽象类中不一定就有抽象方法
public abstract class DinnerService {

// 模板方法
public void havingDinner() {
// 点餐
order();
// 进餐
eat();
// 付款
pay();
}


// --------- 以下方法称为 步骤方法 -----------

// 最终方法:不能被子类重写的方法
public final void order() {
System.out.println("使用iPad进行点餐");
}


// 抽象方法:必须由子类实现的方法
public abstract void eat();


// 钩子方法:可以被子类重写的方法
public void pay() {
System.out.println("使用现金付款");
}


标签:重写,void,基础知识,设计模式,方法,public,模板
From: https://blog.51cto.com/u_15765446/5718387

相关文章

  • 设计模式之策略模式
    在一个收银系统中,如果普通用户、中级会员、高级会员分别对应着不同的优惠策略,常规编程就要使用一系列的判断语句,判断用户类型,这种情况下就可以使用策略模式。一、概念理解......
  • 服务器端模板引擎与客户端模板引擎
    服务器端consttemplate=require('art-template');constpath=require('path');//要拼接的路径constviews=path.join(__dirname,'views','01.art');//设......
  • 【设计模式】Java设计模式 - 命令模式
    Java设计模式-命令模式......
  • 前端三件套 HTML+CSS+JS基础知识内容笔记
    HTML基础目录HTML基础HTML5标签doctype标签html标签head标签meta标签title标签body标签文本和超链接标签标题标签段落标签换行标签水平标签强调标签图片标签与超链接标签......
  • 大话设计模式 ---- 第一章简单工厂笔记
    第一章简单工厂模式计算器实现建民哥在大二的时候让我们设计一个口算卡我第一版的设计模式:(虽然功能实现了,但是啥也不是,一旦有新要求需要大改程序直接作废)//......
  • 设计模式(十四)----结构型模式之外观模式 已完成
    1概述有些人可能炒过股票,但其实大部分人都不太懂,这种没有足够了解证券知识的情况下做股票是很容易亏钱的,刚开始炒股肯定都会想,如果有个懂行的帮帮手就好,其实基金就是个好......
  • 9-27 设计模式
    工厂模式:通过创建接口来实现使用接口的类来具体进行具体各自的独特行为,然后创建工厂,工厂可以将所有的继承的接口类都进行选择性的包容下,并可以供给使用者的需求来创建实......
  • 行为型设计模式之状态模式
    状态模式状态模式(StatePattern)属于行为型模式。它是允许对象在内部状态发生改变时改变它的行为,对象看起来好像修改了它的类。状态模式中类的行为是由状态决定的,不同......
  • 编码中的Adapter,不仅是一种设计模式,更是一种架构理念与解决方案
    大家好,又见面了。不知道下面这玩意大家有没有见过或者使用过?这是一个插座转换器。我们都知道日常使用的是220v的交流电,而国外不同国家使用的电流电压是不一样的(比如日本使......
  • JAVA设计模式-原型模式
    JAVA设计模式-原型模式介绍原型模式是一种创建型模式,用于创建重复的对象,并且保证性能。原型模式创建的对象是由原型对象自身创建的,是原型对象的一个克隆,和原型对象具有......