zl程序教程

您现在的位置是:首页 >  后端

当前栏目

java设计模式----模板方法模式

2023-09-27 14:23:13 时间

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

代码

模板类

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();
		
	}

}

 结果

把水烧开
泡茶
倒入杯中
把水烧开
泡咖啡
倒入杯中