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

模板方法设计模式

时间:2024-07-18 22:26:01浏览次数:12  
标签:System println 设计模式 方法 public 模板 out

模板方法设计模式:

模板方法设计模式:解决方法中存在重复代码的问题。

 
 

模板方法设计模式的写法

1、定义一个抽象类

2、在里面定义2个方法

​ 一个是模板方法:把相同代码放里面去

​ 一个是抽象方法:具体实现交给子类完成

建议使用final关键字修饰模板方法:

​ 模板方法是给对象直接使用的,不能被子类重写。

​ 一旦子类重写了模板方法,模板方法就失效了。

package com.ouyang.demo05;

public abstract class Singer {
    //模板方法,存放多个子类方法中的相同代码
    //final防止模板方法被子类重写
    public final void sing(){
        System.out.println("上台");
        System.out.println("打开话筒");

        //同子类唱的歌词不一样,搞一个抽象方法,让子类重写
        doSing();

        System.out.println("关闭话筒");
        System.out.println("鞠躬");
    }

    public abstract void doSing();

}

 

public class DaoLang extends Singer{
    @Override
    public void doSing() {
        System.out.println("刀郎唱2002年的第一场雪!");
    }
}


class Cxk extends Singer{

    @Override
    public void doSing() {
        System.out.println("蔡徐坤唱明天会更好!");
    }
}

 

package com.ouyang.demo05;

public class demo {
    public static void main(String[] args) {
        /*
            上台
            打开话筒
            蔡徐坤唱明天会更好!
            关闭话筒
            鞠躬
            --------------
            上台
            打开话筒
            刀郎唱2002年的第一场雪!
            关闭话筒
            鞠躬
*/
        Singer cxk=new Cxk();
        cxk.sing();

        System.out.println("--------------");

        Singer dl=new DaoLang();
        dl.sing();
    }
}

标签:System,println,设计模式,方法,public,模板,out
From: https://blog.csdn.net/m0_57463864/article/details/140534810

相关文章

  • Windows虚拟摄像头有哪些?分享5个方法,手机一键替换电脑摄像头!
    Windows虚拟摄像头怎么用?当我们的电脑缺少摄像头时,我们可以借助虚拟摄像头实现。手机作为电脑摄像头的需求日益增长,本文就来给大家详细介绍,关于电脑虚拟摄像头的使用和说明,一起来看看吧!(一)常见的Windows虚拟摄像头软件推荐金虚拟摄像头:支持WiFi/USB/IP多种连接方式,即开即连。......
  • 如何恢复电脑上删除的文件?快速恢复被删除文件的技巧【5个实用方法】
    如何恢复电脑上删除的文件?电脑误删文件的情况很经常发生,删除文件后第一时间可以按下组合键Ctrl+Z撤销,这样能挽回99%以上的文件。当然,如果已经彻底删除,那么可以了解下本文整理的方法找回。(一)恢复电脑删除的文件主要有以下方法使用回收站恢复:大部分文件删除后都会暂存到点电脑......
  • 电脑怎么压缩文件?分享5个压缩软件【常见压缩方法】
    电脑怎么压缩文件?压缩文件是一种常见的操作,压缩文件可以减少文件的体积,便于存储和传输。本文介绍几种常见的压缩文件方法和电脑压缩工具。方法一:使用金舟压缩宝金舟压缩宝是一款功能全面,支持视频、GIF、图片、音频、文档压缩的国产软件,支持对PDF、PPT、Word、Excel进行压缩......
  • 让接口自动化测试~更有效的统计方法!
    01覆盖率概念接口自动化测试是现代软件开发中不可或缺的一环,它能够帮助开发团队自动化执行测试用例,以快速而准确地发现并修复软件缺陷。而覆盖率统计则是在测试执行完成后,帮助测试团队了解哪些代码路径被覆盖了,哪些未被覆盖的技术手段,下面我将介绍一下接口自动化测试覆盖......
  • Tarjan模板
    structSCC{inttop=0,cntscc=0,dfncnt=0;vector<int>dfn,low,stk,instk;vector<int>sccnum,sccid;vector<vector<int>>g,scc;SCC(intn){dfn.assign(n+1,0);low.assign(n+1,0......
  • mysql触发器模板
    --当我们对dept表中的数据进行insertdeleteupdate的时候,请将这些操作记录到日志表当中--dept的表结构/*CREATETABLE`dept`(`DEPTNO`intNOTNULLCOMMENT'部门编号',`DNAME`varchar(14)CHARACTERSETutf8mb4COLLATEutf8mb4_0900_ai_ciDEFAULTNULLCOMMEN......
  • c++ primer plus 第16章string 类和标准模板库,16.2.1 使用智能指针
    c++primerplus第16章string类和标准模板库,16.2.1使用智能指针c++primerplus第16章string类和标准模板库,16.2.1使用智能指针文章目录c++primerplus第16章string类和标准模板库,16.2.1使用智能指针16.2.3uniqueptr为何优于autoptr16.2.3unique......
  • c++ primer plus 第16章string 类和标准模板库,16.2.2 有关智能指针的注意事项
    c++primerplus第16章string类和标准模板库,16.2.2有关智能指针的注意事项c++primerplus第16章string类和标准模板库,16.2.2有关智能指针的注意事项文章目录c++primerplus第16章string类和标准模板库,16.2.2有关智能指针的注意事项16.2.2有关智能指针的......
  • 设计模式
    总的总结策略模式:注入接口观察者模式:事件与监听器责任链模式:方法三抽象类代理模式:aop适配器模式单例模式建造者模式@Builder工厂模式......
  • Java中interface的default和static方法
    Java中interface的default和static方法Java中interface的default和static方法完整代码及其运行结果从Java8开始:static方法:接口不能通过实例调用static方法接口中的static方法不能被继承子类不能继承接口的static方法,可以继承、不能覆写父类的static方法。default......