- 19
- 0
- 约1.72万字
- 约 62页
- 2021-06-19 发布于北京
- 举报
7.1.9实例演练:由设备串口类派生出Adam4150类 为了加深对类的理解,下面来设计一个设备串口类(DevicePort),实现串口的打开、关闭操作,并由此类派生出数字量采集模块Adam4150类。具体要求如下: 类DevicePort 的属性与方法如表7-2所示。(P260) (2) 类Adam4150 继承自类DevicePort,其属性与方法如表7-3所示。(P260) (3) MainWindow.xaml主界面要求如表7-4所示 (P261) 操作步骤 (1)本章的 “Csharp_7” 解决方案中,添加一个“Csharp_7_Adam4150类继承应用”WPF应用程序项目。 (2)为该项目创建一个“Iamges”目录,并将随机光盘“Images”目录下的图形文件“LampOff.png、LampOn.png、Off.png、On.png”拷贝至该应用程序的“Images”目录下; (3)参照图7-17设计好界面布局文件“MainWindow.xaml”。 操作步骤 (4)为该项目添加DevicePort类,用于描述设备的端口,参照代码参考P263 (5)为该项目添加DevicePort类,用于描述设备的端口,参照代码参考P264 (6) 返回到 “MainWindow.xaml.cs”类文件中,添加窗体加载和按钮的打开与关闭事件,来验证类的使用。参照代码参考P266 程序中涉及到了一个DispatcherTimer类,该类是WPF提供的一个定时器,用于按指定时间间隔执行指定的任务。其命名空间为:System.Windows.Threading,在程序中事件处理程序 dTimer_Tick 被添加到定时器dTimer对象的 Tick 事件中。使用 TimeSpan 对象将 Interval 设置为 1 秒,并启动了计时器。此后,每间隔1S就执行一次dTimer_Tick事件。 操作步骤 (7)运行程序,其初始界面如图7-18所示,单击【设备关闭中…】按钮,若设备正常打开,表示设备已代开,按钮文本显示为“设备打开中…”,界面如图7-19所示。再次单击【设备打开中…】按钮,连接设备的串口关闭,界面返回到图7-18所示的状态。 图7-18 关闭设备的运行界面 图7-19 打开设备的运行界面 目 录 案例展现:实验室路灯控制—类的继承、多态 一、继承 二、多态 案例实现:实验室路灯控制—类的继承、多态 7.2 多态性 在面向对象技术中, 一个基类能派生出多个派生类,这些派生类虽然各有特色,但都继承了基类的特征。那么能否用一段通用程序处理形形色色的派生类呢?下面就来看看多态性是如何解决这 个问题的。 7.2 .1派生类的对象和基类的关系 事物之间有两种基本关系,一种是整体和局部之间的has a关系(包含关系),比如 Person has a mouth(人包含一张嘴巴),Dog has a Tail (狗包含-条尾巴)。在程序中 has a关系比比皆是,比如数组和它的元素之间,类和它的成员之间都是has a关系。 另一种是个体和种类之间的is a关系(属于关系),比如Mike is a student(迈克是个学生)、 ShangHai is a City (上海属于城市)。在程序中对象和类之间就是属于关系,比如Mike is a Person (迈克属于人类)。 在类的继承中,派生类对象和基类之间也是is a关系。比如Mike is a student(迈克是个学生),同时Mike is a Person (迈克属于人类)。正因为派生类的对象和基类之间具有这种特殊关系,我们可以进行非常有趣的操作。 7.2 .2多态性的概念 在学习多态性之前,先来复习一下引用符(Reference)和对象(Object)的区别。 对象存储在堆中,引用符存储在栈中,引用符的值是对象在堆中的地址,因此通过引用符可以轻松地找到对象。所以我们经常形象地说“某引用符”指向“某对象”。一般情况下, 引用符和对象属于同一类型,基类的引用指向基类的对象,派生类的引用指向派生类的对象。比如: Person p = new Person(); //基类引用符指向基类对象 Student s=new Student(); //派生类引用符指向派生类对象 在上面的语句中,引用符p指向了一个Person类对象,引用符s指向了一个Student类对象,引用符和对象的类型相同。 引用符和对象的类型能不同吗?从“is a关系”的论述中可知,派生类对象也属于基类,所以基类引用符可以指向派生类对象。 Person p; p= new Student(); p=new Worker(); 一个基类的引用符,可以指向多
您可能关注的文档
- 锐米lorawan室外网关说明书.pdf
- 操作说明类s-hr实施faq业务篇v3.pdf
- 技术基础教程06摄像头.pptx
- suca盘盘5-stm32官方stm32官方手册an4861.pdf
- 城市故事项目介绍.pptx
- 完整文稿318我和小狐狸.ppt
- 8销售手册20181107销售手销售手册-artemis.pdf
- 中国古代玉器图集.pdf
- 讲义买卖点定天下.ppt
- 知名学者的文献-part2激光粉末沉积phase-field simulation of solidification morphology in laser powder deposition of tinb alloys.pdf
原创力文档

文档评论(0)