[LabVIEW随笔-5] -面向对象

1、类的创建    

  1.1 在项目管理器中,通过“我的电脑”快捷菜单,选择“新建类"。

  1.2 在"新建类"窗口指定其父类或父接口,默认父类为"LABVIEW对象"相当于其它语言当中的Object类

 image    imageimage

 2、创建私有数据(字段)

  类的封装特性体现在类的私有数据对外是完全封闭的,不允许在类的外部访问类的私有数据成员。

  类中私有数据只能被类中的成员函数访问,继承的类和外部函数无法直接访问。这样做的最大益处是有效地封装了数据,通过私有数据实现了类数据封装特性。  

  LabVIEW中类的私有数据是通过自定义控件簇实现的,所需的私有数据应该包含在自定义簇中。新创建的类自动生成一个自定义控件,修改并添加所需的私有数据

image

 

 3、创建属性

  类的属性主要用于读取类的私有数据成员或者设置类的数据成员(get和set方法)。  

  创建类的属性的过程完全是自动的,通过类的快捷菜单,选择"新建" → "用于数据成员访问的VI",就可以自动创建属性VI,在LabVIEW中,属性称为访问器,表示访问的是类的私有数据成员。

          image               image

  在访问器对话框中,自动列出自定义控件中定义的所有私有教据成员,选择需要的数据成员和权限(权限包括读取、写入,以及同时读写)。

  动态访问器可以被继承的类重写,而静态访问器则不能。

4、创建类的方法

  利用类的快捷菜单中可以创建两种类型的方法:

  基于动态分配模板的VI(虚方法):基于动态模板的VI在被继承时可以改写同名VI,实现不同的行为。相同的VI根据不同的输入,执行不同的动作。使用动态模板的VI,可以实现类的多态特性。

  基于静态模板的VI(密封方法):使用静态模板的VI只能继承,不能改写。

      image                                    image

  私有方法:只能被本类其他方法调用,禁止外部调用或者继承
  保护方法:只能被本类和继承它的类调用,禁止外部调用。
  公有方法:内部、外部均可调用。

 5、类的继承

  数据封装是类的特征之一,类的强大功能还在于它是可以继承和拓展的。一个类的数据成员可以是其他类的实例,这样我们用多个类就可以组合成更为复杂的类。

6、类的多态

  类除了具有数据封装和继承特性外,还具有多态的特性。而量最能代表类的本质特征就是类的多态特性。创建属性和方法的时候可以选选择静态或动态创建。

  如果选择动态创建,则继承的类可以拥有和父类同名的方法。由于类是通过方法实现动作和行为的,允许方法同名意味着相同名称的方法可以执行不同的动作。

  类与父类具有明确的继承关系,最基本的类称为祖先类或基类。从祖先类继承,可以演化为父类、子类、孙类等。继承于同一级别的类还具有兄弟关系。

  多态是通过虚函数实现的。LabVIEW中的动态方法,,之所以能动态调用同名VI,是因为在运行时LabVIEW能够自动根据类的引用,判断类的相应级别,自动调用所属类别的方法。

  在父类创建动态方法后,在子类快捷菜单中选择"可重写VI"项,即可重载方法。如果父类中没有动态方法,则该项被禁止。

 

7、如何在子类调用父类的方法  

image

 

  

posted @ 2025-11-27 13:26  nonAny  阅读(17)  评论(0)    收藏  举报