当前位置:编程学习 > asp >>

状态模式

工作状态-函数版
#include <stdio.h>

 

static int Hour = 0; // 钟点

static bool WorkFinished = false; // 任务完成标记

 

static void WriteProgram()

{

       if(Hour < 12)

       {

              printf("当前时间:%d点 上午工作,精神百倍 ",Hour);

       }

       else if(Hour < 13)

       {

              printf("当前时间:%d点 饿了,午饭;犯困,午休。 ",Hour);

       }

       else if(Hour < 17)

       {

              printf("当前时间:%d点 下午状态还不错,继续努力 ",Hour);

       }

       else

       {

              if(WorkFinished)

              {

                     printf("当前时间:%d点 下班回家了 ",Hour);

              }

              else

              {

                     if(Hour < 21)

                     {

                            printf("当前时间:%d点 加班哦,疲累之极 ",Hour);

                     }

                     else

                     {

                            printf("当前时间:%d点 不行了,睡着了。 ",Hour);

                     }

              }

       }

}

 

int main()

{

       Hour = 9;

       WriteProgram();

       Hour = 10;

       WriteProgram();

       Hour = 12;

       WriteProgram();

       Hour = 13;

       WriteProgram();

       Hour = 14;

       WriteProgram();

       Hour = 17;

       WriteProgram();

 

       WorkFinished = true;

 

       WriteProgram();

       Hour = 19;

       WriteProgram();

       Hour = 22;

       WriteProgram();

 

       return 0;

}

“小菜,都学了这么长时间的面向对象开发,你怎么还在写面向过程的代码呀?”

“啊,我习惯性思维了,你意思是说要分一个类出来。”

“这是起码的面向对象思维呀,至少应该有个“工作”类,你的‘写程序’方法是类方法,而‘钟点’、‘任务完成’其实就是类的什么?”

“应该是对外属性,是吧?”

“问什么问,还不快去重写。”

工作状态-分类版
#include <stdio.h>

 

class Work

{

public:

       int Hour; // 钟点

       bool WorkFinished; // 任务完成标记

 

       void WriteProgram()

       {

              if(Hour < 12)

              {

                     printf("当前时间:%d点 上午工作,精神百倍 ",Hour);

              }

              else if(Hour < 13)

              {

                     printf("当前时间:%d点 饿了,午饭;犯困,午休。 ",Hour);

              }

              else if(Hour < 17)

              {

                     printf("当前时间:%d点 下午状态还不错,继续努力 ",Hour);

              }

              else

              {

                     if(WorkFinished)

                     {

                            printf("当前时间:%d点 下班回家了 ",Hour);

                     }

                     else

                     {

                            if(Hour < 21)

                            {

           &

补充:Web开发 , ASP.Net ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,