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

模板方法及设计模式——Java笔记

模板方法及设计模式

抽象类体现的就是一种模板模式的设计,抽象类作为多个子类的通用模板,子类在抽象类的基础上进行扩展、改造,但子类总体上会保留抽象类的行为方式。

解决的问题

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

  • 换句话说,在软件开发中实现一个算法时,整体步骤很固定、通用,这些步骤已经在父类中写好了。但是某些部分易变,易变部分可以抽象出来,供不同子类实现。这就是一种模板模式。

模板方法的一些实例

//模板方法的设计模式
public class TemplateTest {public static void main(String[] args) {PrintPrimeNumber p1 = new PrintPrimeNumber();p1.spendTime();}
}
abstract class Template{//计算某段代码需要花费的时间public void spendTime(){long start = System.currentTimeMillis();code();long end = System.currentTimeMillis();System.out.println("花费的时间"+(end - start));}public abstract void code();	//在父类中,用abstract修饰方法,没有方法体。
}class PrintPrimeNumber extends Template{@Overridepublic void code() {for(int i =2 ;i<=100000;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);}}}
}
http://www.lryc.cn/news/352427.html

相关文章:

  • K8S认证|CKA题库+答案| 11. 创建PVC
  • 多微信如何高效管理?一台电脑就能搞定!
  • 安装harbor出现问题: Running 1/1 ✘ Network harbor_harbor Error
  • JVM解释器和即时编译器的工作原理
  • 【产品经理】输出
  • MySQL入门学习.数据库组成.存储引擎
  • 【算法】分治 - 快速排序
  • 设计模式13——桥接模式
  • 第十六讲:数据在内存中的存储
  • 【EXCEL_VBA_基础知识】15 使用ADO操作外部数据
  • 如何在Spring中配置Bean?
  • 深入学习 torch.distributions
  • Java中的判断校验非空问题
  • webman使用summernote富文本编辑器
  • jQuery里添加事件 (代码)
  • Java数组的使用
  • 如何参与github开源项目并提交PR
  • 拼多多携手中国农业大学,投建陕西佛坪山茱萸科技小院
  • 技术前沿 |【自回归视觉模型ImageGPT】
  • Manjaro linux install RedisGUI (RedisInsight)亲测2024-5-25
  • debian/control文件中常见字段的介绍
  • c++题目_农场和奶牛
  • DDD领域设计在“图生代码”中的应用实践
  • LabVIEW舱段测控系统开发
  • [leetcode]第 n个丑数
  • STM32-电灯,仿真
  • 《SpringBoot》系列文章目录
  • 牛客小白月赛94VP
  • php 亚马逊AWS-S3对象存储上传文件
  • electron-01 基础及NPM相关配置