抽象类_模板方法设计模式

1 抽象类作为多个子类的通用模版,父类提供一些通用的方法,并把几个不确定的方法交给子类实现。

package p1;

public class TestTemplate {
    public static void main(String[] args) {
        Template t = new SubTemplate();
        System.out.println("所花费的时间:" + t.useTime());

    }
}

abstract class Template {
    public abstract void code();

    public double useTime() {
        double start = System.currentTimeMillis();
        this.code();
        double end = System.currentTimeMillis();

        return end - start;
    }
}

class SubTemplate extends Template {
    public void code() {
        boolean flag = false;
        // 找出1-1000以内的所有素数
        for (int i = 2; i <= 1000; i++) {
            for (int j = 2; j <= Math.sqrt(i); j++) {
                if (i % j == 0) { // 结束内层循环可能是执行if语句后break,或者j的值已经全部试完,所以
                    // 要用flag加以区分,
                    flag = true;
                    break;
                }
            }
            if (!flag == true) {
                System.out.println("1-500素数包含:" + i);
            }
            flag = false; // 前面有flag = true;
        }
    }
}
时间: 2024-07-29 12:42:03

抽象类_模板方法设计模式的相关文章

二、Java面向对象(15)_模板方法设计模式

2018-05-06 模板方法设计模式 在父类的一个方法中定义一个操作中的算法的骨架,而将一些步骤延迟到子类中,因为不同子类的实现细节不同.模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤. 抽象父类:定义操作中的业务骨架,而将这些步骤延迟到子类中. 抽象父类至少提供两种方法: 1)模板方法:一种通用的处理方式,即模板(总体算法的骨架). 2)抽象方法:一个具体的业务功能实现,由子类完成. 参考:https://www.cnblogs.com/liaoweipeng/p/5

大话设计模式_模板方法模式(Java代码)

模板方法模式:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中.模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤 简单描述:多个类的行为是差不多的,只是某些局部不一样,则交由父类中抽象出这些子类中相同的部分,父类中定义出不同的部分的接口(方法),这些不同部分的方法则由子类去实现,通过多态,实现代码的重用 大话设计模式中的截图: 例子代码: AbstractClass类: 1 package com.longsheng.templatemethod; 2 3 public

Java抽象类深入理解-----模板方法设计模式(Templete Method)

模板方法设计模式(Templete Method) 定义一个操作中的算法骨架,而将一些可变部分的实现延迟到子类中. 模板方法设计模式使得子类可以不改变一个算法的结构即可重新定义该算法某些特定的步骤. 1 import java.util.Random; 2 3 public class AbstractTest002 { 4 public static void main(String[] args) { 5 JudgeMent jm = new JudgeMent(); 6 jm.action

大话设计模式--&gt;模板方法设计模式

在学习java的过程中,我们肯定听到过设计模式这名词,在行业中有这么一句话,若您能熟练的掌握23种设计模式,那么你便是大牛! 好了,废话不多说,今天我跟大家分享一下23种设计模式之一的  模板方法 设计模式 首先我们要知道什么是模板方法设计模式? 模板方法设计模式就是定义一个操作中的算法骨架,而将一些实现步骤延迟到子类当中.模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤. 为什么要使用模板方法设计模式? 模板方法模式是比较简单的一种设计模式,但是它却是代码复用的一项基本的

黑马程序员_JavaSE学习总结第27天_反射 &amp; 设计模式 &amp; JDK5、7、8新特性

------- android培训.java培训.期待与您交流! ----------  27.01  反射_类的加载概述和加载时机 类的加载:当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过加载,连接,初始化三步来实现对这个类进行初始化. 加载:就是指将class文件读入内存,并为之创建一个Class对象.任何类被使用时系统都会建立一个Class对象. 连接 验证 是否有正确的内部结构,并和其他类协调一致 准备 负责为类的静态成员分配内存,并设置默认初始化值 解析 将类的二进制数

设计模式(三)__模板方法设计模式

咳咳,上课. 起立. 老师再见.??? 你们就这么希望老师走吗.... 好了,同学们,今天这节课给大家介绍一下设计模式的一种——模板方法设计模式. 那么什么是模板方法设计模式呢? 当功能内部一部分实现是确定的,一部分实现是不确定的.这时可以把不确定的部分暴露出去,让子类去实现. 模板方法模式是基于继承的代码复用的基本技术,模板方法模式的结构和用法也是面向对象设计的核心. 模式中的角色: ①抽象类:实现了模板方法 ②具体类:实现抽象类中的抽象方法 通过一个例子来让大家更容易理解. 当我们需要判断一

Spring整合JDBC模板方法设计模式之基于继承的实现

Spring整合JDBC模板方法设计模式之基于继承的实现: 模板设计模式简单描述: 把相同的部分提取出来,当我们运行的时候自动往里面设置值,在JdbcTemplate 的源代码中得execute(). 他把公共的部分拎出来写到一个特别的函数中,当我们使用的时候把会发生变化的内容在特定的部分调用,在不同的类里面处理相同的操作,这种方式就做模板设计模式. 例如,JdbcTemplate类中的方法: // ------------------------------------------------

Spring整合JDBC模板方法设计模式之基于组合的实现

Spring整合JDBC模板方法设计模式之基于组合的实现 模板设计模式指的是将相应的模板方法提取出来在一个专门的一个位置定义,然后把相同调用过程的操作通过模板实现. 对于模板设计模式,一般有2中方式 1.基于继承的方式实现 2.基于组合的方式实现 前面实现了:1.基于继承的方式实现 ,Spring整合JDBC模板方法设计模式之基于继承的实现 接下来实现:2.基于组合的方式实现 Spring整合JDBC模板方法设计模式之基于组合的方法在我们有大量类的情况下使用特别方便. 此实现模拟了Spring中

模板方法设计模式

/** 模板方法设计模式:父类的普通方法依赖于一个抽象方法,而抽象方法则推迟到子类中提供实现 *   父类中的普通方法只提供通用的算法,把抽象方法暴露出去,让子类去实现 */public class TestTemplate { public static void main(String[] args) { //匿名类对象调用其父类方法 new SubTemplate().spendTime(); }} abstract class Template { //把抽象的部分暴露出来,让子类去实现