版权声明:本文为博主原创文章,未经博主允许不得转载。博客源地址为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....");
}
}
本文出自https://zhixiang.org.cn/#/blog/read/3291b51c-90fd-459b-9912-0eee2ff083f4,转载请保留。