dxxds
【教】明明人家才是最萌的设计模式(10.27更新)

本帖最后由 dxxds 于 2013-10-27 10:55 编辑

自从第一个教程帖完结后,就偷懒没再发第二贴了。原因也是有的,其中最大的原因就是因为…… 因为空撸伤身什么的造成我一直没有再发新帖。

当然这次发了,也并不是说我就有了,我依然没有。你们是想说我有基友了么?#16t 你们!你们实在是!是!太!了解我了!

嗯,好基友也是没有的。

好了,先复习一下之前学过的一个内容吧:继承。

就是在情人节的那天,用一个父类指针创建一个子类对象,当然,这个父亲有好几个孩子,他可以随便选则是自己变成哪一个,或者轮着变一圈,然后……

这就是策略啊策略!别说我无耻啊!这设计模式里就是这么写的!

然后就上来我们今天的第一课内容了:策略模式!

是有人想问我为啥不是从工厂模式开始讲?别的书都是从这个开始的……

切!库达拉那医 …… 那样不就显得我很不专业么,显得我是抄他们的了么?所以我换一个。

这个策略模式,就是说会随着环境的变化,自己的策略也会有相应的变化。之前继承的课程里就用策略模式

今天出门

如果晴天,就去拿棒棒糖换萝莉。

如果是阴天,就去基友家撸PSP。

如果是下雪天,就自己撸代码。

先上这个熟悉的代码模板

#include *本站禁止HTML标签噢*

using namespace std;

int main()

{

return 0;

}

默认编译环境是WIN下的C-FREE和VS2005以上。(C-FREE好像用的就是我的VS编译器…… 主要是我的DEVCPP很严重的坏了,然后我又懒的修复…… 想来这点基础C++,语法应该都是一样的)

然后在这个基础上,添加一个纯洁的父亲类

class I_evil //纯洁类 I表示interface

{

public:

I_evil(void){}; //构造函数,用来创造纯洁

virtual ~I_evil(void){}; //析构函数,当然是删除纯洁

virtual void strategy(void)=0; //虚函数,执行那纯洁的策略

};

然后我们来写这第一个策略

class C_sunshine : public I_evil //公有方式继承父类,为什么公有,因为好用

{

public:

C_sunshine(){};

~C_sunshine(){}; //是虚的,不过virtual可以不用写

void strategy(void) //也是虚的,virtual写不写都一样,一般要写,因为整齐,可读性好

{

cout<<"去拿棒棒糖换萝莉"<<endl;

}

};

注释写的很清楚了,我就接着写第二第三个了

class C_cloudy : public I_evil //第二个策略,继承纯洁

{

public:

C_cloudy(){};

~C_cloudy(){};

void strategy(void)

{

cout<<"去基友家撸PSP"<<endl;

}

};

class C_snow : public I_evil //第三个策略

{

public:

C_snow(){};

~C_snow(){};

void strategy(void)

{

cout<<"独自撸代码"<<endl;

}

};

然后就该执行了

int main()

{

I_evil* Evil_Father = NULL; //一个纯洁的爸爸,main函数里,全程就只有这一个变量

cout<<"第一天,晴天"<<endl; //第一天开始了

Evil_Father = new C_sunshine;

Evil_Father->strategy();

delete Evil_Father; //第一天结束了

cout<<"第二天,下雪"<<endl; //第二天来了

Evil_Father = new C_snow;

Evil_Father->strategy();

delete Evil_Father; //第二天过去了

cout<<"最后一天,阴天"<<endl; //第三天也来了

Evil_Father = new C_cloudy;

Evil_Father->strategy();

delete Evil_Father; //第三天结束了

system("pause>nul"); // stdlib.h 或者 cstdlib

return 0;

}

今天开斋节,小放假

内容简单易懂,看完回一下这个好帖子。

当然,不懂的就更要回一下这个0售价的好帖子了啊!!

糖糖小子
谢谢萌主分享
展开Biu

试试,谢谢萌主分享

[查看全文]
夏初的末冬
偷偷回复一个
展开Biu

偷偷回复一个

[查看全文]
黑心の布偶兔ˇ
吾等弱渣还是先去看前面的吧
展开Biu

啊咧0- 0.。吾等弱渣还是先去看前面的吧。。。

[查看全文]
FZi
樓主好評
展开Biu

樓主好評

[查看全文]
_甄朝晖
作为一个近几个月不咋上网不咋看电视不咋读报
展开Biu

dxxds 发表于 2013-10-27 10:55

作为一个近几个月不咋上网不咋看电视不咋读报纸甚至连小说都断了的不知道虔不虔诚的IT男来说,我

的行迹已 ...

@@32!!好萌。但是看不懂怎么办@@22!!

[查看全文]
Kind-hearted
果然是所有的代码都有相似的地方
展开Biu

果然是所有的代码都有相似的地方

[查看全文]
qqewwee
有生之年系列啊
展开Biu

有生之年系列啊~~~~~

[查看全文]
dxxds
都是代码了
展开Biu

moxiagy 发表于 2013-11-17 22:25

T_T 都是代码了 哪里有萌点了

你腫麼能這麼說啊

[查看全文]