java模式之模板模式——抽象类
Posted IT云私塾
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java模式之模板模式——抽象类相关的知识,希望对你有一定的参考价值。
模板设计模式(Template )
abstract class Action{ // 定义一个行为类 public static final String WORK = "work"; public static final String SLEEP = "sleep"; public static final String EAT = "eat"; public abstract void eat(); public abstract void sleep(); public abstract void work(); public void command(String str){ switch(str){ case "work": this.work(); break; case "sleep": this.sleep(); break; case "eat": this.eat(); break; } } } class People extends Action{ public void sleep(){ System.out.println("人正在睡觉"); } public void eat(){ System.out.println("人正在吃饭"); } public void work(){ System.out.println("人正在工作"); } } class Pig extends Action{ public void sleep(){ System.out.println("猪正在睡觉"); } public void eat(){ System.out.println("猪正在吃饭"); } public void work(){ } } class Robot extends Action{ public void sleep(){ } public void eat(){ System.out.println("机器人正在补充能量"); } public void work(){ System.out.println("机器人正在工作"); } } public class Test{ public static void main(String args[]){ fun(new People()); fun(new Robot()); } public static void fun(Action act){ act.command(act.WORK); act.command(act.SLEEP); act.command(act.EAT); } }
以上是关于java模式之模板模式——抽象类的主要内容,如果未能解决你的问题,请参考以下文章
Java设计模式(16)——行为模式之模板方法模式(Template)