• 【设计模式】-行为型-1-模板方法模式


    主要角色

    1. 抽象类(Abstract Class):负责给出一个算法的轮廓和骨架。它由一个模板方法和若干个基本方法构成。这些方法的定义如下。
      1.1 模板方法:定义了算法的骨架,按某种顺序调用其包含的基本方法。
      1.2 基本方法:是整个算法中的一个步骤,包含以下几种类型。
      1.2.1 抽象方法:在抽象类中申明,由具体子类实现。
      1.2.2 具体方法:在抽象类中已经实现,在具体子类中可以继承或重写它。
      1.2.3 钩子方法:在抽象类中已经实现,包括用于判断的逻辑方法和需要子类重写的空方法两种。
      2 具体子类(Concrete Class):实现抽象类中所定义的抽象方法和钩子方法,它们是一个顶级逻辑的一个组成步骤。

    代码示例

    package templateMethod;
    public class TemplateMethodPattern
    {
        public static void main(String[] args)
        {
            AbstractClass tm=new ConcreteClass();
            tm.TemplateMethod();
        }
    }
    //抽象类
    abstract class AbstractClass
    {
        public void TemplateMethod() //模板方法
        {
            SpecificMethod();
            abstractMethod1();          
             abstractMethod2();
        }  
        public void SpecificMethod() //具体方法
        {
            System.out.println("抽象类中的具体方法被调用...");
        }   
        public abstract void abstractMethod1(); //抽象方法1
        public abstract void abstractMethod2(); //抽象方法2
    }
    //具体子类
    class ConcreteClass extends AbstractClass
    {
        public void abstractMethod1()
        {
            System.out.println("抽象方法1的实现被调用...");
        }   
        public void abstractMethod2()
        {
            System.out.println("抽象方法2的实现被调用...");
        }
    }
    
  • 相关阅读:
    mkdosfs 安装
    块设备驱动程序-内存盘
    usb驱动程序小结(六)
    usb的hid鼠标键盘报告描述符(五)
    usb输入子系统写程序(三)
    usb输入子系统键盘(四)
    usb描述符简述(二)
    linux usb总线驱动(一)
    linux 触摸屏驱动
    lcd驱动框架
  • 原文地址:https://www.cnblogs.com/tuofan/p/12340422.html
Copyright © 2020-2023  润新知