模板方法模式

文檔查閱說明:

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

 

 

 

 

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