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在线视频培训

相关推荐
电气_空空1 小时前
基于LabVIEW 平台的通用数据采集卡的驱动方法及数据采集
labview
LabVIEW开发4 天前
8 个字节读回一个温度:KELLER 高温计的 LabVIEW 实现
labview·labview知识·labview功能·labview程序
LabVIEW开发4 天前
从饱和升温曲线到参数辨识:在LabVIEW中拟合y=a(1-e^(-bx))
算法·labview·labview知识·labview功能·labview程序
LabVIEW开发7 天前
深海高压舱里的“顺风耳“:LabVIEW 实时水声采集
网络·labview·labview知识·labview功能·labview程序
2601_962284507 天前
利用Python语言实现实验室自动化
python·自动化·数据采集·labview·科学计算
LabVIEW开发8 天前
LabVIEW字符串特殊字符检测兼容
算法·labview·labview知识·labview功能·labview程序
LabVIEW开发9 天前
LabVIEW让多个测试用例共享同一个波形图控件的实现方案
labview·labview知识·labview功能·labview程序
LabVIEW开发10 天前
LabVIEW 64位安装的位深陷阱:工具包、内存与工程兼容
数据库·labview·labview知识·labview功能·labview程序
LabVIEW开发10 天前
LabVIEW按钮按下却没有反应
labview·labview知识·labview功能·labview程序
LabVIEW开发10 天前
LabVIEW运行时动态修改控件标题
前端·labview·labview知识·labview功能·labview程序