欢迎来到天天文库
浏览记录
ID:57029654
大小:325.00 KB
页数:29页
时间:2020-07-26
《面向对象思想ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、本讲内容四大发明之活字印刷业务的封装程序设计实例.NET框架编程技术面向对象思想3复制与复用简单工厂模式实例化的新方法——反射主讲:屠添翼强化面向对象的编程思想教学目标教学重点教学难点业务的封装简单工厂模式反射理解并能灵活应用面向对象的封装、继承、多态三种特性四大发明之活字印刷第一,要改,只需更改要改之字,此为可维护;第二,这些字并非用完这次就无用,完全可以在后来的印刷中重复使用,此乃可复用;第三,此诗若要加字,只需另刻字加入即可,这是可扩展;第四,字的排列其实有可能是竖有可能是横排,此时只需将活字移动就可做到满足排列需求,此是灵活性好。
2、程序设计实例请用C++、Java、C#或VB.NET任意一种面向对象语言实现一个计算器控制台程序,要求输入两个数和运算符号,得到结果。usingSystem;classProgram{staticvoidMain(string[]args){Console.Write("请输入数字A:");stringA=Console.ReadLine();Console.Write("请选择运算符号(+、-、*、/):");stringB=Console.ReadLine();Console.Write("请输入数字B:");stringC=Cons
3、ole.ReadLine();stringD="";if(B=="+")D=Convert.ToString(Convert.ToDouble(A)+Convert.ToDouble(C));if(B=="-")D=Convert.ToString(Convert.ToDouble(A)-Convert.ToDouble(C));if(B=="*")D=Convert.ToString(Convert.ToDouble(A)*Convert.ToDouble(C));if(B=="/")D=Convert.ToString(Convert
4、.ToDouble(A)/Convert.ToDouble(C));Console.WriteLine("结果是:"+D);}}1、变量命名不带有任何意义。2、判断分支效率不高。3、无对输入数据的有效性判断。A,B,C,D总是做4次判断C=0?A和C不是数字?1classProgram{staticvoidMain(string[]args){try{Console.Write("请输入数字A:");stringstrNumberA=Console.ReadLine();Console.Write("请选择运算符号(+、-、*、/):")
5、;stringstrOperate=Console.ReadLine();Console.Write("请输入数字B:");stringstrNumberB=Console.ReadLine();stringstrResult="";switch(strOperate){case"+":strResult=Convert.ToString(Convert.ToDouble(strNumberA)+Convert.ToDouble(strNumberB));break;case"-":strResult=Convert.ToString(C
6、onvert.ToDouble(strNumberA)-Convert.ToDouble(strNumberB));break;2-1case"*":strResult=Convert.ToString(Convert.ToDouble(strNumberA)*Convert.ToDouble(strNumberB));break;case"/":if(strNumberB!="0")strResult=Convert.ToString(Convert.ToDouble(strNumberA)/Convert.ToDouble(strNu
7、mberB));elsestrResult="除数不能为0";break;}Console.WriteLine("结果是:"+strResult);}catch(Exceptionex){Console.WriteLine("您的输入有错:"+ex.Message);}}}是否合出题人的意思?如何体现面向对象?2-2业务的封装让业务逻辑与界面逻辑分开,让它们之间的耦合度下降。只有分离开,才容易达到易维护或易扩展。复制与复用思考:再写一个windows的计算器,现在的代码能不能复用呢?复制≠复用publicclassOperation{pu
8、blicstaticdoubleGetResult(doublenumberA,doublenumberB,stringoperate){doubleresult=0d;switch(oper
此文档下载收益归作者所有