使用LabVIEW接口提高代码的灵活性
- 更新时间2025-08-27
- 阅读时长3分钟
LabVIEW 2020新增了“接口”。接口可被认为是不带有私有数据控件的类,但这种微小的差异使得接口在软件架构中可以实现与类完全不同的目的。具体而言即接口可支持多重继承形式。
接口声明了对象可以扮演的角色,而无需定义如何执行该角色。通过继承接口,类声明其对象实现该角色,然后该类负责指定行为的执行方式。当一个类继承了多个接口时,其对象可被传输至需要完成不同角色的多个软件模块中。
以下项目包括工具(Tool)类,以及几个不同工具的子类。该项目还包括杠杆(Lever)接口。可以看到Tool类有一个控件,该控件定义了该类中的数据,而Lever接口则没有控件,因为接口没有私有数据。类的符号是一个实心的立方体(
)。接口的符号是立方体的若干面(
)。接口和类使用相同的文件扩展名 .lvclass。

下图显示了Tool类、House Key类和Lever接口之间的继承关系。Tool类和Lever接口均继承自LabVIEW对象。除了拥有自己的方法以及它们各自的父类的方法之外,撬具类(Prying Tool)和平头螺丝刀类(Flathead)还继承自杠杆接口(Lever),因为它们都使用了杠杆原理。继承了杠杆接口(Lever)的方法。由于杠杆(Lever)是接口而不是类,因此这种多重继承是合法的。除LabVIEW对象外,三个不相关的类(撬具、平头螺丝刀、房间钥匙)具有一个共同的祖先——杠杆。
可通过下列方式创建接口:
- 在项目浏览器窗口,右键单击我的电脑并从快捷菜单中选择。
- 从新建列表中选择,再选择。
- 使用LabVIEW类:创建接口方法。
关于接口的属性和方法,请参考新增和改动的属性、方法和事件。
关于使用接口的范例,请参考下列项目:
- labview\examples\Object-Oriented Programming\Basic Interfaces\Basic Interfaces.lvproj
- labview\examples\Object-Oriented Programming\Actors and Interfaces\Actors and Interfaces.lvproj