博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
入门设计模式之模板
阅读量:6583 次
发布时间:2019-06-24

本文共 1092 字,大约阅读时间需要 3 分钟。

版权声明:本文为博主原创文章,未经博主允许不得转载。博客源地址为zhixiang.org.cn https://blog.csdn.net/myFirstCN/article/details/80871463

学习更多设计模式请参考:

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

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

抽象类定义了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....");    }}

本文出自,转载请保留。

你可能感兴趣的文章
23种设计模式之建造者模式
查看>>
计算机网络笔记2:物理层
查看>>
POJ3080-Blue Jeans
查看>>
POJ2229 Sumsets
查看>>
在LINQ-TO-SQL中实现“级联删除”的方法
查看>>
在Oracle Form中,如何实现自动编号(行号)的功能
查看>>
OC基础第一讲
查看>>
lemur run PLSA
查看>>
Python中什么是变量Python中定义字符串
查看>>
资源文件
查看>>
如何把pdf转换为txt文档,pdf转txt的好方法
查看>>
SpringMVC(一)
查看>>
用户登录的代码编写思路
查看>>
Spark RDD Action 简单用例(二)
查看>>
java.util 类 TreeSet<E>
查看>>
[LUOGU] P2593 [ZJOI2006]超级麻将
查看>>
Ubuntu-18.04下安装mysql
查看>>
git status简介
查看>>
移动端H5开发填坑
查看>>
vector的erase函数
查看>>