木其网络科技专业程序员代写http://www.xmsydw.com
程序员学历擅长经验网店链接
apenny硕士ASP.NET PHP 电子 通信设计 图像 编程 网络5年进入店铺
zheng_qianqian本科C语言 C++面向对象 Java3年进入店铺
guoguanl本科Java Web项目 JSP Hibernate Struts Mysql4年进入店铺

设计模式之模版方法模试

模板方法模式

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

一个抽象模板类通常包括
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("张三开始工作");
	}
	
}


运行结果

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

 


posted @ 2012-08-13 16:49  C语言程序  阅读(107)  评论(0编辑  收藏  举报
木其网络科技专业程序员代写http://www.xmsydw.com
程序员学历擅长经验网店链接
apenny硕士ASP.NET PHP 电子 通信设计 图像 编程 网络5年进入店铺
zheng_qianqian本科C语言 C++面向对象 Java3年进入店铺
guoguanl本科Java Web项目 JSP Hibernate Struts Mysql4年进入店铺