`

使用Template(模板)模式封装改变

阅读更多
这个模式超级简单,不过怀疑在不带接口特性的语言中使用广泛,其实目的就是封装改变,怀疑在JAVA中那些对抽象类一直比较怀念的人会使用,而我一般则会比较多的使用接口,不过Template对于策略模式有所不同的就是,它在实现上更简单,不需要拖泥带水,原因是在抽象类中可以写实现方法,而接口中则不可以,比如把实现延迟到继承类中。

public abstract class Say
{
  /**
  * 下面操作是我们希望在子类中完成
  */
  public abstract void sayHello();

    /**
     *抽象类的好处就是可以在抽象类里实现方法,哈哈。
     */
  public final void sayGood() {
   System.out.println("I said Good!");
      sayHello();
  }
}
}


public class SayHello extends Say
{
  /**
  * 真正定义sayHello内容
  */
  public void sayHello() {

    System.out.printtln("I said Hello");    
  }
}


哈哈,还有个比较爽,就是可以使用多态性。
Say operation = new SayHello();
operation.sayGood();


OK,现在不管sayHello方法怎么变,对别的类都没影响,哈哈。

分享到:
评论

相关推荐

    Template(模板模式)

    模板模式是一种行为设计模式,它使你能在不破坏封装性的前提下,定义对象间的一系列基本操作,并在子类中实现这些操作的具体步骤。在模板模式中,一个抽象类公开定义了执行它的方法的方式,而将具体实现延迟到子类中...

    Head First 设计模式 (八) 模板方法模式(Template Method pattern) C++实现

    在C++中,我们可以使用虚函数和纯虚函数来实现模板方法模式。抽象类通常包含一些具体实现的函数,这些函数是不变的部分,而将可变的部分留给了子类去实现。这样做的好处是可以保持代码的封装性和可扩展性,同时避免...

    设计模式C++学习之模板方法模式(Template Method)

    模板方法模式(Template Method)是设计模式中行为型模式的一种,它定义了操作中的算法骨架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。这个模式在C++编程中有着...

    设计模式之模板方法(Template)

    模板方法设计模式是一种行为设计模式,它...模板方法设计模式是设计模式中的基础模式之一,理解并正确使用它可以提高软件的灵活性、可维护性和扩展性。在实际开发中,我们应该根据需求灵活运用,以达到最佳的设计效果。

    Template模式

    **模板模式(Template Pattern)**是一种行为设计模式,它在面向对象编程中扮演着重要的角色,尤其是在代码复用和保持代码结构一致性方面。该模式定义了一个操作中的算法骨架,而将一些步骤延迟到子类中。这使得子类...

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

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

    java设计模式-模板模式

    通过使用模板模式,我们能够封装不变的部分并公开可变的部分,从而提高代码的复用性和可扩展性。例如,我们可以创建一个打印报告的抽象类,其中模板方法定义了报告生成的整体流程,包括获取数据、格式化数据和输出...

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

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

    模版方法模式TemplatePattern

    模板方法模式(Template Pattern)是设计模式中行为型模式的一种,它定义了操作中的算法骨架,而将一些步骤延迟到子类中。这种模式允许子类重新定义或改变某些基本操作,但整体结构和顺序保持不变。在Java编程中,...

    设计模式--模板方法模式java例子

    模板方法模式是设计模式中行为型模式的一种,它在软件工程中扮演着非常重要的角色,尤其是在Java编程中。模板方法模式定义了一个操作中的算法骨架,而将一些步骤延迟到子类中。它允许子类不改变一个算法的结构即可重...

    TemplateMethod 模式与代码重构

    通过这种方式,模板方法模式实现了代码复用,并保持了良好的封装性。 模板方法模式的核心概念是抽象类,它定义了一个操作中的算法骨架,而将一些步骤延迟到子类中。这样的模板方法使得子类可以不改变一个算法的结构...

    3 模板模式-课程内容.rar

    2. **模板模式的结构**:详细阐述抽象类与具体类之间的关系,包括模板方法(Template Method)和具体方法(Concrete Methods)的定义,以及钩子方法(Hook Methods)的概念和用途。 3. **模板模式的实现**:通过...

    设计模式专题之(十三)模板模式---设计模式模板模式示例代码(python--c++)

    模板模式是一种行为设计模式,它使你能在不破坏封装性的前提下,定义执行算法的框架,而将一些步骤延迟到子类中。这样,你就能创建一个可复用的框架,将具体步骤留给子类来实现。这个模式的核心思想是抽象类定义了一...

    C++设计模式课件3_Template Method_模板方法.pdf

    ### C++设计模式课件3_Template Method_模板方法 #### 模板方法设计模式解析 模板方法模式(Template Method Pattern)是一种行为型设计模式,它允许我们定义算法的骨架,并将部分步骤推迟到子类中实现。这种模式...

    C++设计模式代码资源3_Template Method_模板方法.zip

    4. **封装变化**:模板方法模式的主要优点是封装了算法的变体,使得算法的结构保持不变,而变化的部分被封装在子类中。这有助于提高代码的可维护性和可扩展性。 5. **使用场景**:模板方法模式适用于当有多个类有...

    设计模式-模板方法模式(讲解及其实现代码)

    模板方法模式是一种行为设计模式,它允许在定义行为框架的同时,延迟部分具体步骤到子类中实现。这种模式主要用于在父类中定义算法的骨架,而将一些步骤的实现细节留给子类去完成,从而使得不同的子类可以重用相同的...

    设计模式之模板设计模式

    模板方法模式的核心概念包含两个主要部分:模板方法(Template Method)和钩子方法(Hook Method)。模板方法是在抽象类中定义的,它包含了整个操作流程的步骤,而这些步骤中有些是具体的,有些是抽象的。抽象步骤由...

    58丨模板模式(上):剖析模板模式在JDK、Servlet、JUnit等中的应用1

    模板模式是一种行为设计模式,它在Java编程中广泛应用于创建可扩展和可复用的代码。根据GoF的《设计模式》定义,模板方法模式是在一个操作中定义一个算法的骨架,将一些步骤延迟到子类中实现,使得子类可以在不改变...

    11.设计模式-模板方法模式1

    模板方法模式(Template Method Pattern)是一种行为设计模式,它允许在父类中定义算法的框架,然后由子类提供具体的实现。这种模式的核心是“模板方法”,它在父类中定义了一个操作的步骤顺序,并将某些步骤声明为...

    设计模式模板方法模式PPT学习教案.pptx

    模板方法模式是一种设计模式,属于行为设计模式,它在面向对象设计中被广泛使用,用于定义算法的骨架,而将一些步骤延迟到子类中。这样,模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些特定...

Global site tag (gtag.js) - Google Analytics