zoukankan      html  css  js  c++  java
  • java设计模式----模板方法模式

    模板方法比较好理解,就是为了避免代码冗余,实现代码复用的功能。比如说最常见的泡茶和泡咖啡,两个之间有很多共同点,都需要烧水,都需要把水倒入杯中,那么这些重复的方法可以抽离出来,放在父类当中,至于两者之间不同的方法,写一个抽象类,让不同的子类去重写父类即可。

    代码

    模板类

    package template;
    
    public abstract class Template {
    	public void prepare(){
    		boilWater();
    		brew();
    		pourCup();
    	}
    	// 烧水
    	public void boilWater() {
    		System.out.println("把水烧开");
    	}
    
    	public abstract void brew();
    // 倒入杯子中 public void pourCup() { System.out.println("倒入杯中"); } }

     泡咖啡

    package template;
    
    public class GetCoffee extends Template {
    
    	@Override
    	public void brew() {
    		System.out.println("泡咖啡");
    	}
    
    }
    

     泡茶

    package template;
    
    public class GetTea extends Template {
    
    	@Override
    	public void brew() {
    		System.out.println("泡茶");
    	}
    
    
    }
    

     测试类

    package template;
    
    public class Test {
    	public static void main(String[] args) {
    		//泡茶
    		GetTea tea = new GetTea();
    		tea.prepare();
    		//泡咖啡
    		GetCoffee coffee=new GetCoffee();
    		coffee.prepare();
    		
    	}
    
    }
    

     结果

    把水烧开
    泡茶
    倒入杯中
    把水烧开
    泡咖啡
    倒入杯中
    
  • 相关阅读:
    WPF程序国际化
    MVVM框架搭建
    最全前端开发面试问题及答案整理
    最小化运行批处理
    C#中App.config文件配置获取
    VS2017 打包成exe
    Inno Setup生成桌面快捷方式
    C#文件读写(txt 简单方式)
    Flume 学习笔记之 Flume NG概述及单节点安装
    快学Scala 第二十课 (trait的构造顺序)
  • 原文地址:https://www.cnblogs.com/JAYIT/p/5063432.html
Copyright © 2011-2022 走看看