zoukankan      html  css  js  c++  java
  • 设计模式之模版方法模试

    模板方法模式

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

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


    运行结果

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

     


  • 相关阅读:
    编写好代码的10条戒律
    [Project] 基开放云平台
    [Project] HUSTOJ随笔
    编码规范:大家都应该做的事情
    ural 1167. Bicolored Horses 夜
    1709. PenguinAvia 夜
    hdu 1011 Starship Troopers 夜
    hdu 2571 命运 夜
    hdu 1561 The more, The Better 夜
    hdu 1598 find the most comfortable road 夜
  • 原文地址:https://www.cnblogs.com/java20130726/p/3218303.html
Copyright © 2011-2022 走看看