模板方法模式

文档查阅说明:

Tongkey

yiibai

runoob

大话设计模式

定义:定义一个操作中的算法的框架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤

使用场景:

● 有多个子类共有的方法,且逻辑相同;

● 重要的、复杂的方法,可以考虑作为模板方法

注意事项:为防止恶意操作,一般模板方法都加上 final 关键词

 

public abstract class AbstractClass {

	public abstract void primitiveOperationA();
	public abstract void primitiveOperationB();
	
	public final void templateMethod() {
		primitiveOperationA();
		primitiveOperationB();
	}
}
public class ConCreateClassA extends AbstractClass {

	@Override
	public void primitiveOperationA() {
		System.out.println("具体类A方法A实现");
	}

	@Override
	public void primitiveOperationB() {
		System.out.println("具体类A方法B实现");
	}

}
public class ConCreateClassB extends AbstractClass {

	@Override
	public void primitiveOperationA() {
		System.out.println("具体类B方法A实现");
	}

	@Override
	public void primitiveOperationB() {
		System.out.println("具体类B方法B实现");
	}

}
public class Test {

	public static void main(String[] args) {
		AbstractClass abstractClass;
		
		abstractClass = new ConCreateClassA();
		abstractClass.templateMethod();
		
		abstractClass = new ConCreateClassB();
		abstractClass.templateMethod();
	}
}

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章