6.0 Labview中的类面向对象编程-类的使用(OOP)

本文介绍labview中类以及子类的使用,即OOP(Object Oriented Programming )面向对象的编程方法。

OOP的核心概念如下:

核心概念 在 LabVIEW 中的体现
类 (Class) 包含私有数据 (属性)和方法(VI。例如,可以创建"Animal"类,私有数据(Name,Age). 方法包括: 1.静态方法(子类不能修改的,只能使用): 2.动态方法(子类可以继承并修改) 3.用于数据成员访问的vi(子类也可以使用)
对象 (Object) 类的实例。通过调用类的一些函数(比如本例子中的自己写的Init方法,其中把私有数据赋值)
封装 (Encapsulation) 将数据和操作数据的方法捆绑在一起,并通过访问控制 (公开、私有、受保护)隐藏内部实现细节-8。。
继承 (Inheritance) 支持单继承 ,子类可以继承父类的数据和方法,并可以重写 (Override) 父类方法,例如,例Aniamial叫是"bark", Cat叫"喵喵"
多态 (Polymorphism) 不同类的对象可以对同一方法调用做出不同的响应,实现动态绑定,主要通过重写父类的方法实现

Labview中类(class)包含私有数据 (属性)和方法(VI),方法分三种:

a).基于动态模板分配的VI:这种vi在被继承时可以改写,实现不同的内容。即使用动态模板的vi,可以实现类的多态特性(即子类可以可以改写父类的方法),相当于C#中的virtual,可以被子类重写。

b). 基于静态模板的Vi,这种vi只能继承,不能改写。即子vi可以直接使用。不能改写内容。

c).用于数据成员访问的Vi,可以用于自己访问自己的私有数据;或者子类也可以调用父类的用于数据成员访问的vi,获得或者修改父类的私有数据

【例1】

本例使用Animal类生成2个对象,然后使用Cat类继承了Animal类且更改(C#中重载)了Animal的bark类。

本例步骤:

1.新建一个类,名称为Animal:

2.新建Animal的基于静态分配模板的VI,主要是Init.vi, AgeAdd1, ToString.

基于动态模板的vi,主要是bark。

3.在Cat中重载bark,实现猫的叫声

4.为了方便调用,统一管理,可以新建一个多态vi,然后把Animal的这些方法都添加进去。

5.在其他vi中调用

【备注】本文内容详见博主的录制的视频课程:https://edu.csdn.net/learn/40757/678509?spm=3001.4143

labview中的类的使用方法(class)_Labview实战1-力位置曲线的绘制-CSDN在线视频培训

相关推荐
LabVIEW开发1 天前
FlexRIO 在轨图像取舍:判决要跑在数据进内存之前
labview·fpga·labview功能·labview程序·flexrio
LabVIEW开发2 天前
PHD2000 注射泵通宵实验:LabVIEW 分段排程、堵针检测与断点续跑
串口通信·labview·仪器控制·实验室自动化
LabVIEW开发2 天前
用 LabVIEW 做故障注入:把起落架的「危险试验」变成可重复流程
串口通信·labview·仪器控制·labview功能·labview程序
LabVIEW开发3 天前
CLAD 例题精讲 2|数值与布尔:三个反直觉的地方
labview
LabVIEW开发4 天前
波音客机降噪验证系统:NI PXI 加 LabVIEW 怎么同时做到可扩展与低成本
labview·labview知识·labview功能·labview程序
LabVIEW开发4 天前
风洞 50 米/秒,LabVIEW 采哪几路信号
自动化测试·数据采集·labview
LabVIEW开发4 天前
沃尔沃动态驾驶模拟器:开放 HIL 平台加 LabVIEW 实时仿真,延迟是验收指标
labview·labview知识·labview功能·labview程序
LabVIEW开发5 天前
燃料电池宽频阻抗测量:PXI 高速多通道采集 + LabVIEW FFT 的工程实现
labview·labview知识·labview功能·labview程序
LabVIEW开发5 天前
COMPASS 托卡马克汤姆逊散射诊断:LabVIEW + PXI 如何把通道偏斜压到 300 皮秒
labview·labview知识·labview功能·labview程序
LabVIEW开发5 天前
ABB 瑞士高压实验室:用 LabVIEW 重建数据管理与报告流程,每次试验省 5 万美元
labview·labview知识·labview功能·labview程序