模板设计模式-多态的体现
抽象类体现的就是一种模板模式的设计,抽象类作为多个子类的通用模板,子类在抽象类的基础上扩展、改造,但子类总体上会保留抽象类的行为方式
解决的问题:
>当功能内部一部分实现是确定的,一部分实现是不确定的。这时可以把不确定的部分暴露出去,让子类去实现
>换句话说,在软件开发中实现一个算法时,整体步骤很固定、通用,这些步骤在父类中写好。但是某些部分易变,易变部分可以抽象出来,供不同子类去实现。这就是一种模板模式。
1 public class TemplateTest {
2 public static void main(String[] args) {
3 SubTemplate t = new SubTemplate();
4 t.spendTime();
5 }
6
7 }
8
9 abstract class Template{
10
11 //计算某段代码执行所需要的时间
12 public void spendTime(){
13 long start = System.currentTimeMillis();
14 code();
15 long end = System.currentTimeMillis();
16 System.out.println("花费的时间为:" + (end - start));
17 }
18
19 public abstract void code();
20 }
21
22 class SubTemplate extends Template{
23
24 public void code(){
25 int sum = 0;
26 for(int i = 2; i <= 1000; ++i){
27 sum += i;
28 }
29 }
30 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET10 - 预览版1新功能体验(一)