首页 > 其他分享 >模板方法模式

模板方法模式

时间:2024-08-01 16:52:54浏览次数:5  
标签:实现 子类 void System 模式 基类 方法 public 模板

上层抽象类定义好操作的基本框架,一些特殊的子操作交给子类去实现,使得子类可以在不改变上层基类的情况下,可以定制操作的某一步骤。

  • 抽象类:

    • 模版方法:定义操作的骨架

    • 基本方法

      • 抽象方法:交给子类实现

      • 具体方法:基类自己实现,子类也可以进行覆盖(重写)

  • 具体实现类

    • 实现基类的某个方法

public abstract class AbstractTemplate {
    public void templateMethod() {
        method1();
        method2();
        method3();
    }

    abstract void method1();

    public void method2() {
        System.out.println("执行method2... 基类实现");
    }

    public void method3() {
        System.out.println("执行method3... 基类实现");
    }
}

  

public class ConcreteClass extends AbstractTemplate{
    @Override
    void method1() {
        System.out.println("子类实现特定步骤....");
    }
}

  

标签:实现,子类,void,System,模式,基类,方法,public,模板
From: https://www.cnblogs.com/darkb4dawn/p/18336200

相关文章

  • 单例模式
    在整个系统中,只能存在一个对象实例,也就是说只能new一次饿汉式:在系统启动后,就会实例化一个对象(不管用不用得到,我先买了再说)缺点:造成内存浪费(如果从来没有使用过)优点:不会造成线程安全的问题classEHPatternInstance1{privatefinalstaticEHPatternInstance1IN......
  • 生命队列交换机方法
    在之前我们都是基于RabbitMQ控制台来创建队列、交换机。但是在实际开发时,队列和交换机是程序员定义的,将来项目上线,又要交给运维去创建。那么程序员就需要把程序中运行的所有队列和交换机都写下来,交给运维。在这个过程中是很容易出现错误的。因此推荐的做法是由程序启动时检查队列......
  • 适配器模式
    适配器模式(AdapterPattern)将某个类的接口转换成客户端期望的另一个接口表示,主要目的是兼容性,让原本因接口不匹配不能一起工作的两个类可以协同工作适配器继承适配对象,并实现适配目标所有的方法 国标接口(适配目标)publicinterfaceNationalStandard{voiduse()......
  • Calico VXLAN 模式
    CalicoVxLAN模式一、环境信息主机IPubuntu172.16.94.141软件版本docker26.1.4helmv3.15.0-rc.2kind0.18.0clab0.54.2kubernetes1.23.4ubuntuosUbuntu20.04.6LTSkernel5.11.5内核升级文档二、安装服务kind配置文件......
  • 正则表达式:有没有一种方法可以提取单引号之间的所有子字符串,而不提取撇号之间的子字符
    基本上,我有一个包含英语语句的数据集。有些语句包含前导/尾随标点符号,所以我想清理和标准化它们。标准化的标准是删除所有前导/尾随标点符号,语句的第一个字符大写,并且语句以句点结尾。我有一个函数可以执行此操作并将其应用于数据集中的每一行。如果有帮助的话,这里是一个代码......
  • Zabbix监控模式及proxy代理
    一、zabbix主动与被动监控模式被动模式和主动模式都是相对于agent客户端而言的主动模式:客户端主动将数据发给server或者proxy被动模式:server或者proxy主动去找客户端索要数据1.被动模式默认是被动模式被动模式是说zabbixagent被动的接受zabbixserver周期性发送......
  • 用selenium打开网页的最小模板
    前言环境:win10python3.10selenium4.12经常用selenium来实现一个打开网页的这样一个小功能,虽然代码很少,但每次重0开始写就很烦。所以这里记录下一个模板小模板importtimefromseleniumimportwebdriverfromselenium.webdriver.common.byimportByfromselenium.web......
  • 【Java】继承、super、final、子类构造方法
     目录1.为什么需要继承2.继承的概念3.继承的语法4.父类成员访问4.1子类和父类不存在同名成员变量1.子类和父类不存在同名成员变量 2.子类和父类成员变量同名4.2子类中访问父类的成员方法1.成员方法名字不同2.成员方法名字相同5.super关键字6.子类构造方法7.this......
  • 酒店押金原路退回系统开通方法,手机查看报表
    一、酒店押金管理有哪些?1.渠道有银行预授权2.微信押金支付3.酒店押金系统4.支付押金管理二、专业酒店押金管理VS银行序号功能专业押金系统银行预授权1收款方式支持微信、支付宝、银联app、信用卡、花呗需要带银行卡刷卡2资金安全区分房费和押金,防止收银员操作失误,将房......
  • 方法重写
    方法重写目录方法重写概念方法重写规则实例方法重载和重写的区别概念方法的重写或方法的覆盖(overriding)子类根据需求对从父类继承的方法进行重新编写重写时,可以用super.方法的方式来保留父类的方法构造方法不能被重写方法重写规则重写方法和被重写方法必须具有相......