模板设计模式-多态的体现

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

 

解决的问题:

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

 

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

 

 

 

复制代码
 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 }
复制代码

 

posted @   草莓小甜心  阅读(55)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示