




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
太原工业学院计算机工程系太原工业学院计算机工程系实验报告课程名称面向对象程序设计班级实验日期2012/3/28姓名学号实验成绩实验名称继承、多态、接口、委托及事件、窗口类计算器实验目的及要求1、掌握类的多态特性以及多态的实现方法。2、掌握接口的声明、实现方法,能够通过接口实现简单系统功能的组织。3、理解委托的作用,能够通过委托实现方法作为参数的传递。4、理解事件的含义和在程序设计中的作用,能够定义一个用户事件并实现事件的触发。5、掌握类的继承特性以及多态的实现方法。6、设计窗口类的计算器实验环境VisualStudio2010开发环境实验内容设计程序,实现类的继承和多态(由于继承比较简单,在继承中一起进行实现)。设计程序实现接口的应用。设计程序,同时实现委托和事件的应用。设计程序利用窗口类实现功能比较完善的计算器的设计。算法描述及实验步骤1、继承与多态:(1)定义抽象类NotebookCompetur,包含show和price两个方法;(2)定义类dell,继承NotebookCompetur,并且重写两个方法;(3)定义lenovo类,继承NotebookCompetur,并且重写两个方法;2、接口的实现(1)定义接口IShow,其中含有Show方法;(2)定义类Voice,含有voice_method方法;(3)定义PC和TV两个类,同时继承Voice类和IShow接口,并分别重写Show方法;(4)主程序中进行调用;3、委托与事件(1)定义PC、Voice、Show三个类,Voice中含有makevoice方法,Show中有Canshow方法,其中CanShow为static类型;(2)在PC中定义委托Run,定义事件Run型的RunEvent,定义方法Run_pc调用RunEvent;(3)在主函数中新建Voice型的MyVoice和PC型的MyPc,并将其中的事件RunEvent动态添加MyVoice.makevoice方法,静态添加Show.CanShow方法;(4)调用MyPc.Run_pc;4、利用窗口类实现功能比较完善的计算器的设计。(1)新建winform程序,在form1中添加用于显示数据的textbox和按键button;如下(后来简单美化过):(2)定义变量:(3)初始化,显示0;(4)为各个按键添加相应代码,其中分为4类,数据类、运算类、复位类,(由于每次进行运算之前都要判断是不是已经进行了运算,进而判断是否要附带“=”的功能,“=”代码应该包含在四则运算的之中);(5)为3类按键写3个方法被调用;(由于复位类比较单一,直接写到点击AC事件中)调试过程及实验结果调试过程中,出现了一个错误:原因是在抽象类中只能进行方法的声明,不能进行实现,尽管{}里面没有写具体实现方法,但是有{}就意味着这里是在进行方法的实现,是不合法的。调试成功后画面如下:2、调试过程中出现错误,原因是方法名字写错了Show写成了show,要注意程序中的大小写问题;最终程序效果图截图如下:3、静态添加方法时,要保证该方法是Static类型的,否则会出错;最终效果图:(其实这效果图不能说明调用过程,附录中有部分关键代码)4、在制作功能比较完善的计算器过程中,遇到了各种困难和错误4.1最终计算器能够进行的功能有:进行四则运算连续进行运算,用“=”输出结果后也能继续运算进行过运算之后,在第二次后更多次输入运算符时屏幕先进行上一次运算并显示结果使被除数不能为0的检验小数点不能在一个数字中输入两次(第二次或更多次输入视为无效),并且不同数字之间的小数点互不影响复位功能4.2在调试过程中遇到的重大问题和解决方案:连续输入两个小数点以后,从string型转换到double型过程中发生错误,截图如下:开始认为是转换的语句有误,后来明白是带有两个小数点的数据是违法的,系统不能转换,所以,在小数点单击事件中做出更改使读取时先判断标志。总结在编写计算器程序时,由于本次没有使变量名能够显示其作用,贪图简单,使得后面编写程序的时候弄错了变量作用,后面屡次遭遇变量名误用事件,在几个相似变量名中难以区分,造成麻烦和错误。以后要注意定义变量的时候规范化。附录
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 员工月工作总结合集15篇
- 2025贵州铁路投资集团有限责任公司招聘35人模拟试卷及参考答案详解一套
- 2025年台州事业单位真题
- 2025年衢州常山县公开招聘专职社区工作者12人模拟试卷及答案详解(名校卷)
- 2025年西安航天基地公办学校教职工招聘(74人)模拟试卷及一套完整答案详解
- 政府和合作社合作运营协议书7篇
- 2025北京中关村第三小学教育集团招聘模拟试卷及参考答案详解
- 2025年甘肃省临夏州临夏县招聘警务辅助人员30人考前自测高频考点模拟试题及答案详解(有一套)
- 2025年烟台莱阳市卫生健康局所属事业单位公开招聘工作人员(35人)考前自测高频考点模拟试题及答案详解(新)
- 2025河南济源职业技术学院高层次人才引进20人模拟试卷及答案详解(新)
- 医院清洗服务方案-清洗项目实施方案设计完整流程
- 心理健康考试题及答案
- 钻探工(高级)职业技能考试题(附答案)
- 锂电池、新能源汽车火灾事故灭火救援处置
- 《公路技术状况评定》课件-任务六:公路技术状况指数MQI
- 油气输送管道穿越工程施工规范
- 酒店客房入住数据分析表格
- 中级财务会计知到课后答案智慧树章节测试答案2025年春云南财经大学
- 2025青海省建筑安全员B证考试题库及答案
- 新版机动车交通事故责任强制保险合同
- 临床检验基础知到智慧树章节测试课后答案2024年秋上海健康医学院
评论
0/150
提交评论