模板模式

系统 1583 0

模板方法(Template Method)模式属于行为模式,定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。这里的算法的结构,可以理解为你根据需求设计出来的业务流程。特定的步骤就是指那些可能在内容上存在变数的环节。


结构模式:
1) AbstractClass(抽象类):定义了一到多个的抽象方法,以供具体的子类来实现它们;而且还要实现一个模板方法,来定义一个算法的骨架。该模板方法不仅调用前面的抽象方法,也可以调用其他的操作,只要能完成自身的使命。


2) ConcreteClass(具体类):实现父类中的抽象方法以完成算法中与特定子类相关的步骤。

模板:
    
public abstract class Print {
	protected abstract void printName();

	protected abstract void printAge();

	public void show() {
		this.printName();
		this.printAge();
		System.out.println(this);

	}
}


  


具体类
    
public class PrintA extends Print {

	@Override
	protected void printAge() {
		System.out.println("20");
	}

	@Override
	protected void printName() {
		System.out.println("This is A");

	}

}

  


    
public class PrintB extends Print {
	@Override
	protected void printAge() {
		System.out.println("18");
	}

	@Override
	protected void printName() {
		System.out.println("This is B");

	}
}

  


    
public class Test {
	public static void main(String[] args) {
		Print p = new PrintA();
		p.show();
		Print pp = new PrintB();
		pp.show();
	}
}

  

模板模式


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论