C#学习笔记之状态模式详解-创新互联
本文通过例题为大家讲解C#学习笔记之状态模式,供大家参考,具体内容如下
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:申请域名、网络空间、营销软件、网站建设、平昌网站维护、网站推广。题目1:通过代码描述每一天的不同时间段的工作效率
分析:
首先确定,工作状态指正在工作,或者以及下班这些情况,而这些情况所受影响的因素包括:当前时间以及任务是否已经完成。所以在Work中需要两个属性:hour和finish。然后根据这两个属性直接判断当前的工作状态即可。
实现:
class Program { static void Main(string[] args) { //紧急项目 Work emergencyProject = new Work(); emergencyProject.Hour = 9; emergencyProject.WriteProgram(); emergencyProject.Hour = 10; emergencyProject.WriteProgram(); emergencyProject.Hour = 12; emergencyProject.WriteProgram(); emergencyProject.Hour = 13; emergencyProject.WriteProgram(); emergencyProject.Hour = 14; emergencyProject.WriteProgram(); emergencyProject.Hour = 17; emergencyProject.Finish = false; emergencyProject.WriteProgram(); emergencyProject.Hour = 19; emergencyProject.WriteProgram(); emergencyProject.Hour = 22; emergencyProject.WriteProgram(); Console.Read(); } public class Work { private int hour; private bool finish = false; public int Hour { get { return hour; } set { hour = value; } } public bool Finish { get { return finish; } set { finish = value; } } ////// 根据时间来判断当前的工作状态如何 /// /// 方法过长 /// public void WriteProgram() { if (hour < 12) { Console.WriteLine("当前时间:{0}点 上午工作,精神百倍", hour); } else if (hour < 13) { Console.WriteLine("当前时间:{0}点 饿了,午饭;犯困,午休", hour); } else if (hour < 17) { Console.WriteLine("当前时间:{0}点 下午状态还不错,继续努力", hour); } else { if (finish) { Console.WriteLine("当前时间:{0}点 下班回家了", hour); } else { if (hour < 21) { Console.WriteLine("当前时间:{0}点 加班哦,疲惫至极", hour); } else { Console.WriteLine("当前时间:{0}点 不行了,睡着了。", hour); } } } } } }
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
文章标题:C#学习笔记之状态模式详解-创新互联
文章地址:http://cdiso.cn/article/ddesos.html