`
web001
  • 浏览: 99392 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

常见设计模式之【模板模式】

    博客分类:
  • Java
 
阅读更多

模板模式Template概述:

1、定义一个操作中算法的骨架,将一些步骤的执行延迟到其子类中。

2、抽象模板角色:

      ①定义了一个或者多个抽象操作,以便让其子类实现

      ②定义并实现一个模板方法。

3、具体模板角色:

      ①实现父类所定义的一个或者多个抽象方法

      ②可以有任意多个具体模板角色,实现同一个抽象模板角色

      ③每一个具体模板角色都可以给出这些抽象方法的不同实现。

....

 

其实我不太喜欢把这些东西摆上去。来上传一个我简写的demo

 

01 package Template;
02 /**
03  *@Description: 模板模式
04  *<a href="http://my.oschina.net/arthor" class="referer" target="_blank">@author</a>  http://www.hualai.net.cn  
05  *@date 2012-08-17
06  *@version V1.0  
07  */
08 public class App {
09  
10 public static void main(String[] args) {
11 Pillar pillar=new CirclePillar(103);
12 System.out.println("pillar's V="+pillar.getBulk());
13 }
14 }

 

 

柱子(圆形柱和矩形柱)抽象类

01 package Template;
02 /**
03  *@Description: 柱子(圆形柱和矩形柱)抽象类
04  *<a href="http://my.oschina.net/arthor" class="referer" target="_blank">@author</a>  http://www.hualai.net.cn  
05  *@date 2012-08-17
06  *@version V1.0  
07  */
08 public abstract class Pillar{
09 private float hight;
10  
11 public Pillar(float hight) {
12 this.hight = hight;
13 }
14  
15 /**获得体积**/
16 public double getBulk(){
17 return getUnderArea()*hight;
18 }
19  
20 protected abstract float getUnderArea();
21 }

 

圆柱类:

 

01 package Template;
02 /**
03  *@Description: 圆柱
04  *<a href="http://my.oschina.net/arthor" class="referer" target="_blank">@author</a>  http://www.hualai.net.cn  
05  *@date 2012-08-17
06  *@version V1.0  
07  */
08 public class CirclePillar extends Pillar {
09 private float r;
10  
11 public CirclePillar(float hight,float r){
12 super(hight);
13 this.r=r;
14 }
15  
16 @Override
17 public float getUnderArea() {
18 // TODO Auto-generated method stub
19 return  (float) (Math.PI*r*r);
20 }
21 }

 


矩形柱类:

01 package Template;
02 /**
03  *@Description:矩形柱
04  *<a href="http://my.oschina.net/arthor" class="referer" target="_blank">@author</a>  http://www.hualai.net.cn  
05  *@date 2012-08-17
06  *@version V1.0  
07  */
08 public class RectPillar extends Pillar {
09 private float length;
10 private float width;
11  
12 public RectPillar(float hight,float length,float width) {
13 super(hight);
14 this.length=length;
15 this.width=width;
16 }
17  
18 @Override
19 public float getUnderArea() {
20 return length*width;
21 }
22 }

 

打印结果:

 

1 pillar's V=282.74334716796875

 

分享到:
评论

相关推荐

    深入浅出设计模式之模板方法模式

    ### 深入浅出设计模式之模板方法模式 #### 一、模板方法模式概述 设计模式是软件工程中一种非常重要的技术手段,它能够帮助我们解决常见的编程问题,并提高代码的可重用性、可扩展性和可维护性。模板方法模式是一...

    设计模式课程设计模板

    设计模式课程设计模板通常包括一系列常见的设计模式及其应用实例,帮助学生或开发者系统地学习和掌握这些模式。 在这个"设计模式课程设计模板"中,我们可以期待学习到以下几个主要的知识点: 1. **设计模式分类**...

    设计模式之美——教你写出高质量代码

    设计模式是软件工程中的一种最佳实践,它是在特定上下文中解决常见问题的经验总结。"设计模式之美——教你写出高质量代码"这个主题旨在帮助开发者更好地理解和应用设计模式,从而提升代码的质量和可维护性。设计模式...

    设计模式学习模板demo

    在“设计模式学习模板demo”中,我们可以预见到这可能是一个包含了多种设计模式实际应用的示例项目。以下是一些常见的设计模式及其在实际编程中的应用: 1. **单例模式**:确保一个类只有一个实例,并提供全局访问...

    设计模式之美—学习笔记

    设计模式是软件工程中的一种最佳实践,它是在特定上下文中解决常见问题的经验总结。这些模式在不同的场景下被反复验证并被广泛接受,为开发者提供了一种标准的、可复用的解决方案。在这个“设计模式之美”的学习笔记...

    java设计模式之策略模式与模板模式

    在Java编程领域,设计模式是解决常见问题的可重用解决方案,它们代表了软件设计的最佳实践。本篇文章将深入探讨两种重要的设计模式:策略模式和模板模式。通过理解这两种模式,开发者可以更好地组织代码,提高代码的...

    C++常见设计模式的解析和实现

    在软件开发领域,设计模式是经过时间和实践验证的解决方案,用于解决常见的编程问题。C++作为一门强大的面向对象编程语言,其丰富的特性和强大的功能使得设计模式的应用更加广泛。以下是对标题和描述中提到的一些...

    常见设计模式的解析和实现(C++版)

    本资料“常见设计模式的解析和实现(C++版)”深入探讨了在C++环境中如何理解和应用这些模式。 首先,我们要了解设计模式的基本分类。设计模式分为三大类:创建型模式、结构型模式和行为型模式。创建型模式关注对象...

    设计模式之模板方法测试代码

    在软件工程中,设计模式是解决常见问题的可重用解决方案,它们是经过验证的、在特定上下文中高效的设计实践。模板方法设计模式是行为设计模式的一种,它定义了算法的骨架,允许在子类中定义算法的某些步骤。在这个...

    24种设计模式以及混合设计模式

    设计模式是软件工程中的一种重要思想,它是在特定情境下,为解决常见问题而形成的一套最佳实践。在本文中,我们将深入探讨24种设计模式,并结合混合设计模式的概念,以及它们在实际项目中的应用案例。 首先,设计...

    常见设计模式的解析和实现(含C++源码)

    本资源包含对常见设计模式的深入解析以及C++语言的实现代码,对于理解和应用设计模式有极大的帮助。 首先,我们来了解一下设计模式的基本分类。设计模式通常分为三类:创建型模式、结构型模式和行为型模式。 1. **...

    GOF设计模式中英文+设计模式精解中英文

    GOF(Gang of Four)设计模式,由Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides四位专家在他们的著作《设计模式:可复用面向对象软件的基础》中提出,被誉为设计模式的经典之作。本资源包含了GOF设计...

    设计模式解析.pdf

    设计模式是软件工程领域的重要概念,旨在提供解决常见软件设计问题的模板或指导原则。《设计模式解析》这一标题暗示了书籍将深度探讨各种设计模式,包括其原理、应用及背后的思维逻辑,帮助读者掌握并灵活运用这些...

    新版设计模式手册 - C#设计模式(第二版)

    设计模式是解决软件开发中常见问题的经验总结,是软件工程的最佳实践之一。本手册将详细阐述23种经典设计模式,并结合C#语言特性,给出具体实现和应用示例。 首先,我们来了解一下设计模式的基本概念。设计模式是...

    C++设计新思维:泛型编程与设计模式之应用(PDF)

    除了泛型编程,设计模式也是软件开发领域的一个核心概念,它们代表了在特定环境下解决常见问题的最佳实践。在这本书中,作者不仅解释了如何在C++中实现这些设计模式,还探讨了它们如何与C++的特性相融合。例如,工厂...

    C#设计模式/常见设计模式的解析和实现(C++)/设计模式迷你手册.rar

    《常见设计模式的解析和实现(C++)》可能详细解释了C++中的设计模式实现,C++作为强类型、静态类型的面向对象语言,其模板元编程和运算符重载特性为实现某些模式提供了独特的方式。例如,C++的模板可以用于实现策略...

    unity-23种常见设计模式unity版

    总体来说设计模式分为三大类: 创建型模式:共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式:共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元...

    java版本的设计模式的实现demo

    单例模式是最常见的创建型模式之一,它确保一个类只有一个实例,并提供全局访问点。在Java中,可以通过私有构造函数、静态私有变量和公共静态方法来实现单例模式。 3. 工厂模式 工厂模式是另一种常用的创建型模式,它将...

    Java设计模式之模板方法模式.docx

    总结来说,模板方法模式是Java设计模式中的一种常见模式,用于定义算法的结构,并允许子类在不改变整体结构的情况下重定义某些步骤。在这个悍马模型的例子中,通过调整`run()`方法的实现位置,可以更好地体现模板...

Global site tag (gtag.js) - Google Analytics