【第一章】LabVIEW中的OOP——继承

 

在线试读↓...



在线试读↓

LabVIEW中的继承

当创建一个新的LabVIEW类,并让它继承另一个LabVIEW类时,它可以使用父类中公共的和保护的成员VI。同时,开发人员可以为这个新的LabVIEW类添加私有数据和成员VI,以增加其功能。

LabVIEW支持公共的单继承。这意味着,一个LabVIEW类只能有一个父类,并且父类和子类之间的关系也无法隐藏。

通过以下步骤完成继承关系设定:

  1. 在项目浏览器中,右键LabVIEW类图标,从右键菜单中选择属性,弹出LabVIEW类属性对话框;
  2. 在LabVIEW类属性对话框中,如下图所示,从类别中选择继承(Inheritance);
  3. 单击更改继承加载更改继承对话框;
  4. 如下图所示,项目中所有的LabVIEW类都被罗列出来;
  5. 单击继承所选(InheritFrom Selected)。修改继承对话框将被关闭,并且在类属性对话框中更新继承关系;
  6. 单击确定关闭类属性对话框。
在LabVIEW中,一个特定类型的对象可以在它对应类型或父类类型的连线上传递。如果多个类型的对象拥有共同的父类,那么开发人员可以将这些对象组成一个数组。这意味着,开发人员可以将多个子类整合在一起,并仅与它们公共的部分做交互。

如下图所示的例子中,Boolean对象、DigitalU32对象和ComboBox对象都是通过GUI类的子类创建的。将这些对象整合在一起后,可通过GUI类的Get()方法获取控件值。



因为每个子类中都有继承GUI类的Get()方法,因此For循环的每次迭代都会调用这个方法。

LabVIEW类的类型转换

开发人员可以通过转换为通用的类(ToMore Generic Class)节点向上转换LabVIEW类的数据类型,或通过转换为特定的类(ToMore Specific Class)节点向下转换LabVIEW类的数据类型。这两个节点可以在簇、类与变体选板中找到,如下图所示。



转换为通用的类节点将输入的LabVIEW类转换成指定的祖先类,它主要用于消除强制转换点。这个用法和C#中的as操作符很像。

转换为特定的类节点将输入的LabVIEW类转换成指定的子孙类,它可以用于判断连线上的数据是否为指定的子孙类。当连线上的数据不是子孙类时,它将返回一个错误。这个用法和C#中的is操作符很像。

本人发行的包括但不限于产品或服务的全部内容及群共享中的的材料拥有版权等知识产权,受法律保护。

未经本人书面许可,任何单位及个人不得以任何方式或理由对上述产品、服务、信息、材料的任何部分进行使用、复制、修改、抄录、传播或与其它产品捆绑使用、销售。

凡侵犯本人版权等知识产权的,本人必依法追究其法律责任。

特此郑重法律声明!

点击阅读原文加入收费社区,访问更多精彩内容!


    关注 漫谈LabVIEW面向对象设计


微信扫一扫关注公众号

0 个评论

要回复文章请先登录注册