入门设计模式之模板

Posted zhixiang-org-cn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了入门设计模式之模板相关的知识,希望对你有一定的参考价值。

 

学习更多设计模式请参考:入门设计模式之汇总篇

 

模板方法:在一个抽象类中定义一部分的实现,其余的定义抽象方法迫使子类实现

 

相信看了上方的定义以后大家已经理解了模板模式,我们来看一下类图

 

 

技术分享图片

抽象类定义了4个方法,其中operation是私有的,在这个方法里调用了其他三个方法,而方法3是自己实现的。方法1和2是强迫子类实现的。

ClassImpl1,ClassImpl2都继承了抽象类,并分别对方法1和2进行了不同的实现

 

我们来看代码

public  abstract class AbstractClass {
    public abstract void operation1();
    public abstract void operation2();
    public  void operation3(){
        System.out.println("do something....");
    }
    public  void operation(){
        operation1();
        operation2();
        operation3();
    }
}

public class ClassImpl1 extends AbstractClass {
    @Override
    public void operation1() {
        System.out.println("do something....");
    }
    @Override
    public void operation2() {
        System.out.println("do something....");
    }
}

public class ClassImpl2 extends AbstractClass {
    @Override
    public void operation1() {
        System.out.println("do something....");
    }
    @Override
    public void operation2() {
        System.out.println("do something....");
    }
}

 




本文出自https://zhixiang.org.cn/#/blog/read/3291b51c-90fd-459b-9912-0eee2ff083f4,转载请保留。




以上是关于入门设计模式之模板的主要内容,如果未能解决你的问题,请参考以下文章

微信小程序第七天WXML语法之模板用法

微信小程序第七天WXML语法之模板用法

微信小程序开发之--"template模板“的应用

vscode之快速生成vue模板

Flask之模板之宏继承包含

Flask框架从入门到精通之模板宏(十九)