设计模式之模版方法模试

模板方法模式

模板方法模式比较简单, 其实就是对一些不可变的业务进行封装, 对可变的部分提供扩展。
那扩展当然就是接口或者抽象类了。 但考虑到又有不可变的部分, 所一抽象类就成了不二的选择。

一个抽象模板类通常包括
1. 基本方法
2. 模板(abstract)方法
 
Java 示例代码
package com.picc.cl;

public abstract class TemplateMethod {
	/**定义一些抽象行为,放到子类去实现*/
	 abstract void getUp();//起床
	 
	 abstract void  faceWash();//洗脸
	 
	 abstract void eat();//吃饭
	 
	 abstract void startWork();//上班
	 /**模板方法,给出了逻辑的骨架,而逻辑的组成是一些相应的抽象操作,它们都推迟到子类实现*/
	 public void TemplateMethodTotal(){
		   getUp();//起床
		   faceWash();//洗脸
		   eat();//吃饭
		   startWork();//上班
	 }

	 public static void main(String[] args) {
		 TemplateMethod method = new ZS();
		 method.TemplateMethodTotal();
	}
}

class ZS extends TemplateMethod{

	@Override
	void eat() {
		System.out.println("张三吃饭");
	}

	@Override
	void faceWash() {
		System.out.println("张三洗脸");
	}

	@Override
	void getUp() {
		System.out.println("张三起床");
	}

	@Override
	void startWork() {
		System.out.println("张三开始工作");
	}
	
}


运行结果

   张三起床
   张三洗脸
   张三吃饭
   张三开始工作

 


原文地址:https://www.cnblogs.com/java20130726/p/3218303.html