首页 > 代码库 > TemplateMethod(模块方法模式)
TemplateMethod(模块方法模式)
/** * 模块模式 * @author TMAC-J * 将一个完整的算法分离,分成不同的模块 * 用于有很多步骤的时候,可能以后这些步骤还会增加,把这些步骤分离 * 将有共性的部分放在抽象类中 * 避免代码重复 * 有利于算法扩展 * 假设这个算法是人,人具有的共性是早上起来穿衣服,吃饭,工作 */ public class TemplateMethod { abstract class Person{ abstract void dressup(); abstract void eat(); abstract void work(); public void operate(){ dressup(); eat(); work(); } } public class Teacher extends Person{ @Override void dressup() { System.out.println("穿衣"); } @Override void eat() { System.out.println("吃饭"); } @Override void work() { System.out.println("工作"); } //老师独有的备课环节,扩展了这个步骤 public void prepare(){ System.out.println("备课"); } } public class Student extends Person{ @Override void dressup() { System.out.println("穿衣"); } @Override void eat() { System.out.println("吃饭"); } @Override void work() { System.out.println("工作"); } } public void test(){ Person teather = new Teacher(); teather.operate(); Person student = new Student(); student.operate(); } }
TemplateMethod(模块方法模式)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。