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

    利用上下班交通工具的不同来实现该模式

    /**
     * TODO 上班模板
     * goWork和backWork是上下班模板方法,大多数人都是以这种方式上下班的,
     * 但是也有例外,所以子类可以重写。
     * 而怎么去上班基本上都不一样(公交,地铁,自驾,步行,自行车等),所以抽象出来。
     * 然后work方法就是:聚集整套流程
     * @author kakaluote
     * @date 2021年6月9日 上午8:56:37
     */
    public abstract class GotoWorkTemplate {
    
    	public void goWork(){
    		System.out.println("早晨起床准备上班");
    	}
    	public void backWork(){
    		System.out.println("晚上忙完下班");
    	}
    	
    	public abstract void howGoWork();
    	
    	public void work(){
    		goWork();
    		howGoWork();
    		backWork();
    	}
    }
    
    public class XiaoMingWork extends GotoWorkTemplate{
    
    	@Override
    	public void howGoWork() {
    		
    		System.out.println("小明骑电动车上班");
    	}
    	public static void main(String[] args) {
    		
    		GotoWorkTemplate template = new XiaoMingWork();
    		template.work();
    	}
    }
    
    public class XiaoHongWork extends GotoWorkTemplate{
    
    	@Override
    	public void goWork() {
    		System.out.println("昨晚小红加班到很晚,所以就在单位留宿了,"
    				+ "因此早上直接就可以去上班,不存在起床一说,故而重写。");
    	}
    
    	@Override
    	public void howGoWork() {
    		System.out.println("小红走路去上班。");
    	}
    	
    	public static void main(String[] args) {
    		GotoWorkTemplate template = new XiaoHongWork();
    		template.work();
    	}
    }
    
  • 相关阅读:
    Python基础之逻辑运算符
    Python基础之赋值运算符
    Python基础之算术运算符
    Python基础之格式化输出
    Python基础之while循环
    Python基础之if语句
    Python基础之注释
    Python基础之变量和常量
    Python基础之Python解释器
    Flask-登录练习
  • 原文地址:https://www.cnblogs.com/kaka-qiqi/p/14865460.html
Copyright © 2011-2022 走看看