大B:“我給你舉個例子,你就可以更好在理解模板方法模式了。”
小A:“好。”
大B:“一個支持在屏幕上繪圖的類View。一個視圖隻有在進入焦點狀態後時才可以設定合適的特定繪圖狀態,因而隻有成為‘焦點’之後才可以進行繪圖。View類強製其子類遵循這個規則。我們用Display模板方法來解決這個問題。View定義兩個具體方法,SetFocus和ResetFocus,分別設定和清除繪圖狀態。View的Dodisplay鉤子操作實施真正的繪圖功能。”
//cout《“模版方法定義算法框架”《endl;
cout《“獲得焦點”《endl;
cout《“失去焦點”《endl;
cout《“基類繪圖函數”《endl;
};
cout《“實現falsh繪圖”《endl;
};
cout《“實現photoshop繪圖”《endl;
};
運行結果:
獲得焦點
(本章完)