[LabVIEW随笔-5] -面向对象
1、类的创建
1.1 在项目管理器中,通过“我的电脑”快捷菜单,选择“新建类"。
1.2 在"新建类"窗口指定其父类或父接口,默认父类为"LABVIEW对象"相当于其它语言当中的Object类


2、创建私有数据(字段)
类的封装特性体现在类的私有数据对外是完全封闭的,不允许在类的外部访问类的私有数据成员。
类中私有数据只能被类中的成员函数访问,继承的类和外部函数无法直接访问。这样做的最大益处是有效地封装了数据,通过私有数据实现了类数据封装特性。
LabVIEW中类的私有数据是通过自定义控件簇实现的,所需的私有数据应该包含在自定义簇中。新创建的类自动生成一个自定义控件,修改并添加所需的私有数据

3、创建属性
类的属性主要用于读取类的私有数据成员或者设置类的数据成员(get和set方法)。
创建类的属性的过程完全是自动的,通过类的快捷菜单,选择"新建" → "用于数据成员访问的VI",就可以自动创建属性VI,在LabVIEW中,属性称为访问器,表示访问的是类的私有数据成员。

在访问器对话框中,自动列出自定义控件中定义的所有私有教据成员,选择需要的数据成员和权限(权限包括读取、写入,以及同时读写)。
动态访问器可以被继承的类重写,而静态访问器则不能。
4、创建类的方法
利用类的快捷菜单中可以创建两种类型的方法:
基于动态分配模板的VI(虚方法):基于动态模板的VI在被继承时可以改写同名VI,实现不同的行为。相同的VI根据不同的输入,执行不同的动作。使用动态模板的VI,可以实现类的多态特性。
基于静态模板的VI(密封方法):使用静态模板的VI只能继承,不能改写。

私有方法:只能被本类其他方法调用,禁止外部调用或者继承
保护方法:只能被本类和继承它的类调用,禁止外部调用。
公有方法:内部、外部均可调用。
5、类的继承
数据封装是类的特征之一,类的强大功能还在于它是可以继承和拓展的。一个类的数据成员可以是其他类的实例,这样我们用多个类就可以组合成更为复杂的类。
6、类的多态
类除了具有数据封装和继承特性外,还具有多态的特性。而量最能代表类的本质特征就是类的多态特性。创建属性和方法的时候可以选选择静态或动态创建。
如果选择动态创建,则继承的类可以拥有和父类同名的方法。由于类是通过方法实现动作和行为的,允许方法同名意味着相同名称的方法可以执行不同的动作。
类与父类具有明确的继承关系,最基本的类称为祖先类或基类。从祖先类继承,可以演化为父类、子类、孙类等。继承于同一级别的类还具有兄弟关系。
多态是通过虚函数实现的。LabVIEW中的动态方法,,之所以能动态调用同名VI,是因为在运行时LabVIEW能够自动根据类的引用,判断类的相应级别,自动调用所属类别的方法。
在父类创建动态方法后,在子类快捷菜单中选择"可重写VI"项,即可重载方法。如果父类中没有动态方法,则该项被禁止。
7、如何在子类调用父类的方法

浙公网安备 33010602011771号