12-第四章 面向对象程序设计3-类的多态实验_第1页
12-第四章 面向对象程序设计3-类的多态实验_第2页
12-第四章 面向对象程序设计3-类的多态实验_第3页
12-第四章 面向对象程序设计3-类的多态实验_第4页
12-第四章 面向对象程序设计3-类的多态实验_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

——基于Qt(Windows)版医用仪器软件设计MedicalInstrumentSoftwareDesign2022第4章面向对象程序设计3-——BasedonQt(WindowsEdition)类的多态实验关于这节课Aboutthiscourse.“通过完成本章实验,掌握C++语言面向对象程序设计的基础概念,包括类与对象、static关键字、类的封装、类的继承、类的多态、抽象类和接口、访问控制、内部类等。One

目录实验内容实验原理实验步骤本节任务实验内容

创建CalcTime类,在类中定义用于保存小时值的成员变量mHour;用于计算并获取对应时间值的虚方法getTimeVal()方法。通过公有继承方式继承基类CalcTime来创建CalcMin类,在CalcMin类中定义用于保存分钟值的成员变量mMin;用于计算并获取对应时间值的getTimeVal()方法。通过公有继承方式继承基类CalcTime来创建CalcSec类,在CalcSec类中定义用于保存秒值的成员变量mSec;用于计算并获取对应时间值的getTimeVal()方法。然后创建一个ConvertTime类,在该类中定义一个CalcTime类型的指针,指针名为ct;分别创建CalcTime、CalcMin和CalcSec的对象,对象名分别为ctHour、ctMin和ctSec,然后通过指针ct调用各类中的getTimeVal()方法计算对应时间,通过cout输出转换后的时间结果。在main()方法中获取键盘输入值(0~86399之间的值,包括0和86399),然后,实现秒值-时间值转换,并输出转换结果。实验原理

多态是指相同的行为方式可能导致不同的行为结果,即产生了多种形态行为。定义类的时候,若类中某一个方法可能在后续继承的过程中被重写,可以用virtual关键字来修饰这个方法,此时被virtual声明的方法被重写后就具备了多态的特性,对于重写的方法,方法名与参数必须与原方法保持一致才具备多态的特性,若方法名相同但参数不同,则只是同名覆盖。1.多态

举例:动物会叫,猫会喵喵叫,狗会汪汪叫猫cat=new猫();cat.call();猫会喵喵叫动物animal=new猫();animal.call();猫是动物,会喵喵叫动物animal=new狗();animal.call();狗是动物,会汪汪叫同一个事件发生在不同的对象上会产生不同的结果执行子类重写的方法,无法运行子类独有的方法2.重写重写方法需要遵循以下规则:父类方法与子类重写的方法参数列表、返回值类型与方法名必须相同;子类重写的方法不能拥有比父类方法更低的访问权限,而public权限最低,private权限最高;当父类中方法的访问权限修饰符为private时,该方法在子类中是不能被重写的;如果父类方法抛出异常,那么子类重写的方法也要抛出异常,而且抛出的异常不能多于父类中抛出的异常(可以等于父类中抛出的异常)。实验步骤

首先,基于Notepad++软件,新建一个ConvertTime.cpp文件,保存至“D:\QtProject\OOP03.类的多态实验”文件夹中,然后,将程序清单43中的代码输入到ConvertTime.cpp文件中。

最后,按F6键编译和执行C++文件,在Notepad++的Console栏中,输入80000后回车,可以看到运行结果,即输出“Currenttime:22-13-20”,说明实验成功。本节任务

2020年有366天,将2020年1月1日作为计数起点,即计数1,2020年12月31日作为计数终点,即计数366。计数1代表“2020年1月1日-星期三”,计数10代表“2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论