`
cakin24
  • 浏览: 1383831 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

抽象类和模板模式

    博客分类:
  • java
阅读更多

一模板模式的简单规则

抽象父类可以只定义需要使用的某些方法,把不能实现的部分抽象成抽象方法,留给其子类去实现。

父类中可能包含需要调用其它系列方法的方法,这些被调用的方法既可以由父类实现,也可以由其子类实现。父类里提供的方法只定义了一个通用算法,其实现也许并不完全由自身实现,而必须依赖于其子类的辅助。

 

二模板模式应用

1代码示例

public abstract class SpeedMeter
{
	// 转速
	private double turnRate;
	public SpeedMeter()
	{
	}
	// 把返回车轮半径的方法定义成抽象方法
	public abstract double getRadius();
	public void setTurnRate(double turnRate)
	{
		this.turnRate = turnRate;
	}
	// 定义计算速度的通用算法
	public double getSpeed()
	{
		// 速度等于 车轮半径 * 2 * PI * 转速
		return java.lang.Math.PI * 2 * getRadius() * turnRate;
	}
}

 

public class CarSpeedMeter extends SpeedMeter
{
	public double getRadius()
	{
		return 0.28;
	}
	public static void main(String[] args)
	{
		CarSpeedMeter csm = new CarSpeedMeter();
		csm.setTurnRate(15);
		System.out.println(csm.getSpeed());
	}
}

2运行结果

26.389378290154266

 

3结果分析

在这个范例的抽象父类中,父类的普通方法依赖于一个抽象方法,而抽象方法则推迟到子类中提供实现。

1
1
分享到:
评论

相关推荐

    Java抽象类的构造模板模式用法示例

    本文将详细介绍Java抽象类的构造模板模式用法,包括抽象类和模板模式的概念、特点、优点和应用场景,并通过实例代码来讲解如何使用抽象类和模板模式来解决实际问题。 一、抽象类和模板模式的概念 在Java中,抽象类...

    抽象类与适配器模式.

    在设计模式中,抽象类常用于定义一个接口或者作为模板,指导子类实现特定的功能。 适配器模式是一种结构型设计模式,它的主要作用是在不修改原有类的基础上,使得原本由于接口不兼容而不能一起工作的类能够协同工作...

    Java抽象类与模板设计模式相关知识点常考面试题源代码

    10.6抽象类 10.6.1问题引入 10.6.2解决之道-抽象类快速入门 10.6.3抽象类的介绍 ...10.7抽象类最佳实践-模板设计模式 10.7.1基本介绍 10.7.2模板设计模式能解决的问题 10.7.3最佳实践 10.7.4模板设计

    策略模式结合模板方法模式

    二是把策略的接口改成抽象类,然后在里面实现具体算法的公共功能;三是给所有的策略算法定义一个抽象的父类,让这个父类去实现策略的接口,然后在这个父类里面去实现公共的功能。 在策略模式结合模板方法模式中,...

    java设计模式-模板模式

    1. **抽象类(Abstract Class)**:这是模板模式的核心,它定义了模板方法以及一些具体方法。模板方法是一个具体方法,通常为final类型,以防止被子类重写。它定义了算法的主要结构,而将一些步骤留给了子类来实现。...

    第05章 面向对象(下) 10 抽象类应用之模板方法设计模式

    在Java中,抽象类是模板方法设计模式的基础。抽象类定义了一个模板方法,这个方法通常包含了一系列步骤,这些步骤由抽象类定义,并且可以部分或全部是抽象的。子类继承抽象类后,可以选择性地覆盖这些抽象方法,实现...

    C#中抽象类和接口的区别.txt

    - 抽象类通常用于实现模板方法模式等设计模式。 - 接口更适合于实现依赖注入、策略模式等。 9. **代码示例**: ```csharp // 抽象类示例 public abstract class Animal { public abstract void MakeSound()...

    C#抽象类与抽象方法

    当你创建一个抽象类时,通常是因为你想要定义一个通用的模板,而这个模板的部分细节将在特定的派生类中完成。抽象类可以用`abstract`关键字来标记,如`abstract class MyClass`。抽象类可以包含抽象方法、非抽象方法...

    设计模式之模板方法模式

    模板方法模式的核心组成部分包括抽象类(Abstract Class)和具体类(Concrete Classes)。抽象类中定义了一个模板方法,这个方法通常为final类型,防止被子类覆盖,确保算法的完整性。此外,它还包含了一些钩子方法...

    Java4Android24_为什么用抽象类

    4. **模板方法设计模式**:抽象类可以包含部分实现的方法,称为模板方法。模板方法定义了算法的骨架,而将一些步骤延迟到子类中。这样,子类可以不改变算法的结构,只重写其中特定的步骤,实现细节的定制。 5. **...

    介绍一下抽象类和接口的异同

    在编程世界中,抽象类和接口是两种非常重要的概念,它们在实现代码的组织和设计模式上发挥着关键作用。本文将深入探讨抽象类与接口的异同,并结合实际应用场景来帮助理解这两种机制。 首先,让我们从定义开始。抽象...

    java利用接口和抽象类改写求圆的面积和梯形的面积.docx

    2. **抽象类的设计理念**:抽象类作为系统中多个子类的共同父类,表达了一种模板式设计。抽象类可以被视为系统实现过程中的中间产品,它已经实现了一些系统功能(即那些在抽象类中已经提供了实现的方法),但这个...

    模板方法模式例子

    模板方法模式是基于继承的,通过抽象类定义模板方法,而具体的实现则由其子类来完成。 在给定的"模板方法模式例子"中,我们可以预计包含一个或多个Java文件,这些文件展示了如何应用模板方法模式。通常,这将包括一...

    7.java模板模式与8.策略模式示例

    Java模板模式和策略模式是两种常用的面向对象设计模式,它们在软件开发中有着广泛的应用。模板模式是一种行为设计模式,而策略模式则属于结构型设计模式。这两种模式都是用来处理算法和行为的,但它们的核心理念和...

    设计模式之模板方法模式Java实现和类设计图

    在Java中,模板方法模式通常通过抽象类来实现。抽象类定义了基本操作,这些操作由具体子类实现。模板方法通常是一个抽象方法,它调用这些基本操作,形成一个完整的算法流程。这种方式有助于减少代码重复,保持代码的...

    模板模式课件及代码-极客学院

    7. **实例分析**:在极客学院的课件中,可能会通过一个具体的编程示例来解释模板模式,例如创建一个报告生成器,抽象类定义了生成报告的步骤(如收集数据、处理数据、生成文件),而具体类可以根据不同的报告类型...

    设计模式之简单模板模式(附demo)

    **模板模式(Template Pattern)**是一种行为设计模式,它使你能在抽象类中定义操作算法的框架,而将一些步骤延迟到子类中。这样,子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 在Java、C#等面向...

    抽象类和接口

    - 抽象类用于提供一个基类模板,供子类继承并实现具体逻辑。 - 可以定义构造函数、成员变量和成员方法。 - 支持单继承特性,即一个类只能继承一个抽象类。 **应用场景**: - 当多个类具有相同的属性和行为,但这些...

    java设计模式之模板模式

    模板模式的核心在于抽象类,这个抽象类定义了一个操作中的算法骨架,而将一些具体步骤的实现延迟到其子类中。这样做的好处是,一方面可以保持代码的整洁,将相似的逻辑集中在一起,另一方面也允许子类对算法进行定制...

Global site tag (gtag.js) - Google Analytics