做個筆記
引用
public abstract class templateclass
public void pouroil()
public void heatoil()
//做的蔬菜不一樣 所以宣告為抽象方法 讓子類去重寫
abstract void pourvegetable();
//放的調料 口味 不一樣 宣告為抽象方法 讓子類去重寫
abstract void poursauce();
public void fry()
}public class baocai extends templateclass
@override
void poursauce()
}public class suanrong extends templateclass
@override
void poursauce()
}
/**
* 行為型模式:模版方法模式
* 核心:抽象父類定義相同的部分,實現相同的方法,子類實現不同的部分
* 即:現在有炒菜這個公共行為,但是炒的兩個菜不同,具體來說是蔬菜和佐料,不同,因此需要重寫的也是這兩個部分的方法
* 參考部落格:
*/public class templetetest
}
設計模式 模版方法模式
模版方法模式說明 定義乙個操作中的演算法的骨架,而將一些步驟延遲到子類中。模版方法使得子類可以不改變乙個演算法的結構即可重定義該演算法的某些特定步驟。模版方法模式就是提供了乙個很好的 復用平台,是通過把不變行為搬移到超類,去除子類的重複 來體現它的優勢。下面直接看此模式的簡單模版 抽象模版,定義並實...
設計模式 模版方法模式
模版方法模式 定義一下操作中的演算法骨架,而將一些步驟延遲到子類中。模版方法使得子類可以不改變乙個演算法的結構即可重定義該演算法的某些特定步驟。模版方法模式結構圖 abstractclass是抽象類,其實也就是一抽象模版,定義並實現了乙個模版方法。這個模版方法一般是乙個具體方法,它給出了乙個頂級邏輯...
設計模式 模版方法模式
模版方法模式 在乙個方法中定義乙個演算法的骨架,而將一些步驟延遲到子類中。模版方法使得子類可以在不改變演算法結構的情況下,重新定義演算法中的某些步驟。對模版方法進行掛鉤 鉤子是一種被宣告在抽象類中的方法,但只有空的或者預設的實現。鉤子的存在,可以讓子類有能力對演算法的不同點進行掛鉤。要不要掛鉤,由子...