大话设计模式

《大话设计模式》

第159章

上一页 封面 下一页

大B:“我给你举个例子,你就可以更好在理解模板方法模式了。”

小A:“好。”

大B:“一个支持在屏幕上绘图的类View。一个视图只有在进入焦点状态后时才可以设定合适的特定绘图状态,因而只有成为‘焦点’之后才可以进行绘图。View类强制其子类遵循这个规则。我们用Display模板方法来解决这个问题。View定义两个具体方法,SetFocus和ResetFocus,分别设定和清除绘图状态。View的Dodisplay钩子操作实施真正的绘图功能。”

include《》

classView

public:

voidDisplay

//cout《“模版方法定义算法框架”《endl;

SetFocus;

Dodisplay;

ResetFocus;

voidSetFocus

cout《“获得焦点”《endl;

voidResetFocus

cout《“失去焦点”《endl;

virtualvoidDodisplay

cout《“基类绘图函数”《endl;

};

classFlashView:publicView

public:

voidDodisplay

cout《“实现falsh绘图”《endl;

};

classPhotoShopView:publicView

public:

voidDodisplay

cout《“实现photoshop绘图”《endl;

};

intmain

View*pview=newFlashView;

pview->Display;

pview=newPhotoShopView;

pview->Display;

return1;

运行结果:

获得焦点

实现falsh绘图

失去焦点

获得焦点www.smrhm.com 幻想小说网

实现photoshop绘图

失去焦点

阅读大话设计模式最新章节 请关注米妮小说网(www.qixinyuan.com.cn)

上一页 目录 下一页 存书签

热门推荐