public class templatedesignpattern
}abstract class drink
} public void boilwatter()
public abstract void addmaterial();
public abstract void pourcup();
public abstract void addcondiments();
public boolean isaddcondiments()
}class coffee extends drink
public void pourcup()
public void addcondiments()
}class tea extends drink
public tea(boolean addcondiments)
public void boilwatter()
public void addmaterial()
public void pourcup()
public void addcondiments()
public boolean isaddcondiments()
}
模板設計模式遵循開閉原則,旨在把一系列有規律的流程歸類定義為乙個父類,由父類確定乙個大體的框架(含有抽象的工作流程),再由諸多子類進行細化實行子類的工作方式;
abstract class drink
} public void boilwatter()
public abstract void addmaterial();
public abstract void pourcup();
public abstract void addcondiments();
public boolean isaddcondiments()
}
子類對父類的一些抽象方法可利用構造方法可以選擇執行或者不執行;
class tea extends drink
public boolean isaddcondiments()
}
並且在父類中有一些普通方法子類可以選擇要不要覆蓋他們,這些方法叫做鉤子方法;
通過覆寫,子類還可以對父類的統一的方法進行完善.
模板設計模式 設計模式 模板方法模式
在模板模式 template pattern 中,乙個抽象類公開定義了執行它的方法的方式 模板。它的子類可以按需要重寫方法實現,但呼叫將以抽象類中定義的方式進行。這種型別的設計模式屬於行為型模式。首先需要一定抽象的定義,沒有具體的實現,但是在抽象類的行為中,子類去程序這個抽象類,重寫抽象方法,實現不...
模板設計模式 設計模式之模板模式
模板模式,通常又叫做模板方法模式,乙個抽象類公開定義了執行方法的模板,它的子類可以按需要重寫方法實現,但呼叫將以抽象類中定義的方法進行,這種型別的設計模式屬於行為型模式。模板模式主要解決將通用的演算法抽象起來,同樣的 邏輯出現了重複,就可以使用模板模式進行重構。關鍵 在抽象類實現,其他步驟在子類實現...
設計模式 模板設計模式
1 抽象類 abstractclass類中實現了模板方法 template 定義了演算法的骨架,具體子類需要去實現,抽象方法operationr2,3,4 template operationr2,3,4可以是抽象方法,也可以是實現方法 如果是抽象方法,需要到子類實現即可 2 實現類 concret...