LabVIEW创建类 3
创始人
2024-03-05 09:40:38
0

LabVIEW创建类 3

继承

通过“继承”可在现有类的基础上创建新类。若创建一个新的LabVIEW类并将它设置为继承另一个类的数据及成员VI,这个新类将可使用它所继承的类中“公共”及“保护”型的成员VI。这个新类还可添加自己的数据和成员VI以丰富其功能。例如,“汽车”类的私有数据包括齿轮数量、车门数量、颜色、制造和型号。如创建了一个名为卡车类的新类,可将卡车类设置为继承汽车类,并对卡车类添加布尔型数据短车厢?和四轮驱动?。但是,如下图所示,在对LabVIEW类进行捆绑或解除捆绑时,节点上仅显示当前类私有数据的接线端,而不显示从祖先类继承的任何数据的接线端。

祖先类的数据是私有的,必须使用祖先类提供的函数(成员VI)才能修改这些数据。子孙类的成员VI可以调用祖先类任何“公共”型的成员VI,就像调用LabVIEW中的其它VI一样。子孙类的成员VI也可以调用祖先类“保护”型的成员VI。若指定一个祖先类成员VI为“保护”型,则其任何子类的成员VI可以调用其方法,但该类继承层次结构以外的任何其它VI都不能调用其方法。如需访问卡车类从汽车类继承而来的齿轮数量,可在汽车类中创建一个“公共”型或“保护”型的成员VI,比如Get Gears.vi。在GetGears.vi的程序框图中可对汽车类解除捆绑,从而得到齿轮数量。然后将齿轮数量分配到连线板的一个输出接线端,用这种方法,汽车类的子孙类(例如,卡车类)就可访问汽车类的某个私有数据(例如,齿轮数量)了。

在汽车类中创建访问数据成员的成员VI,即可访问齿轮数量。创建成员VI时,勾选创建访问器对话框的通过属性节点实现复选框。然后,将卡车类连接至属性节点,右键单击属性接线端并选择选择属性»齿轮数量。

注:  LabVIEW类不可调用另一个LabVIEW类的“私有”型成员VI,即使是父类,也无法调用其子类的私有成员VI。类的“私有”成员VI只能由这个类的其它成员VI在程序框图中调用。

注:  (FPGA模块)创建FPGA VI时,可在限制的范围内使用继承。

LabVIEW对象

短语LabVIEW对象是一个特定的类的名称。LabVIEW面向对象编程中,LabVIEW对象是继承树的根类。默认状态下,所有LabVIEW类都是从“LabVIEW对象”继承而来的。通过“LabVIEW对象”创建的VI,能对多个LabVIEW类执行通用的操作。例如,可创建一个由若干LabVIEW类构成的数组,该数组的类型是某个基类,数组中的数据可以是这个基类或它的任何子孙类类型的元素,因此数组中的数据是异构的。如果一个数组的类型为“LabVIEW对象”,则该数组可包含汽车类、卡车类和保龄球类。保龄球类并不是从汽车类或卡车类继承而来的,因此LabVIEW将创建一个通用于这些类的最近的祖先基类,此处便以“LabVIEW对象”为基类。

下图显示了汽车类数组,一个包含汽车类和卡车类的数组。由于卡车类是从汽车类继承而来的,汽车类就是通用于这两个类的最近的祖先基类。该图还显示了包含“LabVIEW对象”类、汽车类、卡车类和保龄球类的LabVIEW对象数组。保龄球类不是从汽车类或卡车类继承而来的,但所有的这三个类都是从“LabVIEW对象”这个根类继承而来,因此LabVIEW对象数组的类型是“LabVIEW对象”。

设置继承

默认状态下,所有LabVIEW类都是从“LabVIEW对象”继承而来的。如果要更改一个类的继承关系,必须在创建该类之后更改继承。通过类属性对话框,可设置类的继承关系和其它选项。在LabVIEW类层次结构窗口中,可查看LabVIEW类的层次结构。类继承的层次结构可包括下列类型的类。

父类-供其它LabVIEW类继承数据、“公共”型成员VI和“保护”型成员VI的LabVIEW类。

子类-继承父类的公共和受保护成员VI的LabVIEW类。除非父类提供访问VI,否则子类不继承父类的私有数据。

兄弟类-和一个LabVIEW类继承同一个父类的另一个LabVIEW类。

祖先类-一个LabVIEW类的上一层(父类)、上二层(父类的父类)、上三层等等。“LabVIEW对象”是所有LabVIEW类的始祖。

子孙类-一个LabVIEW类的下一层(子类)、下二层(子类的子类)、下三层等等。

注:  如创建的VI重写父级LabVIEW类中的属性访问器VI,则必须在子类和父类的属性定义文件夹中指定相同的名称和文件夹路径。

连线外观

类定义了新的数据类型。在程序框图中,通过类定义的数据类型采用默认的LabVIEW类连线外观,或者继承父类的连线外观。通过类属性对话框可对LabVIEW类更改连线外观。适当地更改不同LabVIEW类的连线外观,可提高程序框图的可读性。而使用过多的连线色彩和连线模式将破坏程序框图的可读性。下图左侧显示了LabVIEW内置的连线外观,右侧显示了自定义连线外观的样例。

关于在LabVIEW中避免过多连线和色彩的技巧,见LabVIEW Style Checklist。

需要说明的是,上述的例程和文档,都是可以下载的,双击即可打开,其中压缩文件是可以采用粘贴复制的方式,拷贝到硬盘上。这不是图片,各位小伙伴看到后尝试一下,这个问题就不用加微信咨询了。有关LabVIEW编程、LabVIEW开发等相关项目,可联系们。

相关内容

热门资讯

海南产经新观察:为“向数图强”... 中新网海口12月23日电 (黄方舟)已经启动全岛封关的海南自贸港,正致力推动公共数据资源开发利用,加...
幼儿园收费划出“制度红线”,严... 大象新闻2025-12-23 17:12:18 2026年1月1日起,幼儿园收费实行目录清单管理,建...
快手就遭到黑灰产攻击谴责违法犯... 针对快手平台上出现违规内容的异常情况,12月23日,南都N视频记者从快手科技方面获悉,公司快手应用的...
调解故事 | 高效化解装修纠纷... 近日,延吉市房地产纠纷人民调解委员会成功调解了一起合同纠纷,切实维护了当事人合法权益。 今年5月,...
宁波女婴医疗纠纷进入司法程序 ... 央广网宁波12月23日消息(记者陈金莲 俞烨)12月23日,记者从宁波市海曙区人民法院了解到,该院已...
被举报打赏网红600余万,国企... 张女士系中国某工程咨询集团有限公司职员,其名下实名手机号注册的抖音账号“xx阳光”在不到两年的时间里...
涉房屋租赁合同纠纷案情:不适租... 租赁企业提供的房屋不适租,承租方有权单方解除合同并主张违约责任。 12月23日,北京第三中级人民法院...
农银人寿广西分公司开展普法宣讲... 为深入贯彻落实宪法宣传教育工作要求,切实增强员工法律意识与风险防范能力,帮助员工妥善化解工作、生活中...
重大毒品犯罪案件证据收集审查判... 重大毒品犯罪案件证据收集审查判断工作指引(浙江省) (浙检发诉三字〔2015〕1号) 来源:为你辩护...
知名拆迁律师联系方式揭秘:为您... 在拆迁过程中,遇到纠纷和难题是常有的事,这时候找一位有名的拆迁律师至关重要。那么,如何获取资深拆迁律...