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

JAVA中的模版设计模式

一、模版设计模式能解决以下问题

1)功能内部一部分是实现的,一部分是不确定的,这时可以把不确定的部分暴露出去,让子类去实现

2)编写一个抽象父类,父类提供多个子类的通用方法,并把一个或多个方法留给子类实现,就是一种模版模式

二、代码实现

package TemplateModel;

public class TemplateModel01 {
    /* 需求
    * 1.有多个类完成不同的任务*/
    public static void main(String[] args) {
        new AA().cal();
        new BB().cal();
    }
}
class AA extends Template{
    /*public void cal(){
        // 开始时间
        long start = System.currentTimeMillis();
        job();
        // 结束时间
        long end = System.currentTimeMillis();
        System.out.println("执行时间"+ (end - start));
    }*/

    public void job(){
        long n = 0;
        for (long i = 1; i < 800000; i++){
            n += i;
        }
    }
}

class BB extends Template{
    /*public void cal(){
        // 开始时间
        long start = System.currentTimeMillis();
        job();
        // 结束时间
        long end = System.currentTimeMillis();
        System.out.println("执行时间"+ (end - start));
    }*/

    public void job(){
        long n = 0;
        for (long i = 1; i < 10000000; i++){
            n += i;
        }
    }
}

// 改进方案
abstract class Template{
    public abstract void job();
    public void cal(){
        // 开始时间
        long start = System.currentTimeMillis();
        job();
        // 结束时间
        long end = System.currentTimeMillis();
        System.out.println("执行时间"+ (end - start));
    }
}


http://www.kler.cn/a/230869.html

相关文章:

  • 【前端模板】bootstrap5披萨餐厅网站Pizza King平台(电商适用,附源码)
  • RabiitMQ延迟队列(死信交换机)
  • 3.2-媒资管理之MinIo分布式文件系统+上传图片
  • 从零学习Linux操作系统 第二十五部分 文本处理工具
  • 编码技巧——基于Socket通信的接口调用
  • C程序设计(第5版)谭浩强习题解答 第10章 对文件的输入输出
  • vue-cil的watch函数详解
  • Git - 每次 git pull/push 时需要账号和密码解决方案
  • 什么是VPS服务器技术
  • watch 和 watchEffect 的使用
  • Fink CDC数据同步(一)环境部署
  • c# List集合操作帮助类
  • 杭州融资融券利率一般最低是4.5%,两融有哪些核心注意事项?
  • 【SQL高频基础题】619.只出现一次的最大数字
  • java实战:Spring事务控制之事务回滚入门
  • 在flutter中集成Excel导入和导出
  • YOLO部署实战(2):使用OpenCV优化视频转图片流程并设置帧数
  • binlog解析补录数据
  • Redis.conf 配置文件解读
  • C语言-二分查找