zoukankan      html  css  js  c++  java
  • JAVA基础复习-抽象类和抽象方法使用方式:模板方法设计模式示例

    利用抽象类结合抽象方法,实现一种设计模块:模板方法设计模式,这其中也充分应用了多态的思想,示例如下,

    package com.winson.OOP;
    
    /**
     * @description:抽象类和抽象方法使用方式:模板方法设计模式示例
     * @date: 2020/7/9 22:30
     * @author: winson
     */
    public class TemplateTest {
        public static void main(String[] args) {
            SubTemplate subTemplate = new SubTemplate();
            //子类调用父类的方法,而spendTime()中又调用了code()抽象方法,因为SubTemplate类重写了code()方法,
            // 所以subTemplate类调用了spendTime()方法,而且调用了自己重写的抽象方法;
            subTemplate.spendTime();
        }
    }
    
    abstract class Template {
        //抽象方法
        public abstract void code();
    
        //普通方法:计算某段代码话费的时间
        public void spendTime() {
            long startTime = System.currentTimeMillis();
    
            //不确定的部分、易变的部分
            this.code();
    
            long endTime = System.currentTimeMillis();
    
            System.out.println("花费的时间为:" + (endTime - startTime));
        }
    }
    
    class SubTemplate extends Template {
    
        @Override
        public void code() {
            //筛选1000以内的质数
            for (int i = 2; i <= 1000; i++) {
                boolean isFlag = true;
                for (int j = 2; j < Math.sqrt(i); j++) {
                    if (i % j == 0) {
                        isFlag = false;
                        break;
                    }
                }
                if (isFlag) {
                    System.out.println(i);
                }
            }
        }
    }
    
    
    
    
  • 相关阅读:
    隔离级别 && SNAPSHOT
    多态性&& 虚函数 && 抽象类
    socket编程
    [APIO2015]巴邻旁之桥
    LuoguP3701 「伪模板」主席树
    线段树标记永久化
    [HNOI2015]开店
    NOIP2017划水记
    FFTNTT总结
    [THUWC 2017]在美妙的数学王国中畅游
  • 原文地址:https://www.cnblogs.com/elnimo/p/13276736.html
Copyright © 2011-2022 走看看