本文以一個簡單的實例形式講述了C#模板方法模式的實現方法,分享給大家供大家參考。具體實現方法如下:
這里假設要做一道紅燒肉,做法有很多,在不同的做法中都有相同的部分,比如都要放油、放肉、放調料等。也有不同之處,比如有些做法放可樂,有些做法放甜蜜醬,等等。
先提煉出一個抽象類,該類不僅有制作紅燒肉的各個步驟,而且還把各個步驟歸納到另一個方法,我們把這個方法稱作模版方法。另外,在模版方法中,對于一些不確定的方面先用抽象方法。
public abstract class HongShaoRou{ public void MakeHongShaoRou() { You(); Rou(); Others(); TiaoLiao(); } public void You() { Console.WriteLine("放入油"); } public void Rou() { Console.WriteLine("放入肉"); } public abstract void Others(); public void TiaoLiao() { Console.WriteLine("放入調料"); }}
假如,有一種"四川紅燒肉"是放芝麻醬的。
public class SiChuangHongShaoRou : HongShaoRou{ public override void Others() { Console.WriteLine("放入芝麻醬"); }}
客戶端只要調用抽象類的模版方法就可以。
class Program{ static void Main(string[] args) { HongShaoRou hongShaoRou = new SiChuangHongShaoRou(); hongShaoRou.MakeHongShaoRou(); Console.ReadKey(); }}
希望本文所述對大家C#程序設計的學習有所幫助。
新聞熱點
疑難解答