LabVIEW使用G#框架实现面向对象编程

软件程序应该可重复使用,具有灵活性和扩展性。面向对象编程(Object Oriented Programming,OOP)可以让程序具有这些特点。面向对象程序设计把客观世界中的实体抽象为对象,以对象为核心,定义了类,数据抽象,继承,动态绑定,数据封装,多态性,消息传递等。类是客观世界的抽象,具有静态属性的数据和对数据的操作,对象是类的实体化,对象之间通过消息实现通讯。对象是组成程序的基本模块。“天下武功,唯快不破”。LabVIEW是图形化的编程语言,无需记住繁琐的编程语句和语法,可以象“搭积木”一样轻松,快速地编程,在工业应用中实现高效软件研发。G#框架是一个免费的LabVIEW插件,在LabVIEW中实现了面向对象编程。

1.使用VI Package Manager安装 G# Framework 软件包并重启 LabVIEW。

2.创建一个新项目并保存。鼠标右键点击我的电脑(MyComputer)->新建(NEW)->G#类(G# Class)。

LabVIEW使用G#框架实现面向对象编程_第1张图片

3.在出现的对话框中输入类名(Class Name)和保存数据的类文件夹(Class Folder), 点击创建类按钮(Class)。

LabVIEW使用G#框架实现面向对象编程_第2张图片4.稍等片刻,出现类图标编辑器对话框(Class Icon Editor)。设置类图标头部文字(Header Text)和颜色,点击应用按钮(Apply)确认。

LabVIEW使用G#框架实现面向对象编程_第3张图片

5.G#类定义完成, 定义的类名出项在项目管理对话框中。

LabVIEW使用G#框架实现面向对象编程_第4张图片

6.在类中添加一个方法。鼠标右键点击类名->G#IDE->创建方法(Create Method…)。

LabVIEW使用G#框架实现面向对象编程_第5张图片

7.  在出现的创建方法对话框中(Create Method),选定方法模板(Method Template),输入将创建的方法名称(Name)和相关信息(Description),设置创建的方法类型(Method Type),范围(Scope)等。点击创建方法按钮(Create Method)确认。

LabVIEW使用G#框架实现面向对象编程_第6张图片8.稍等片刻,出现图标编辑器对话框(Icon Editor),颜色在创建类时已经提前设定。输入方法图标文字(Body Text),点击应用按钮确认(Apply)。

LabVIEW使用G#框架实现面向对象编程_第7张图片

9.方法定义完成。现在给类添加一个属性(Attribute)。在项目管理对话框中,展开被保护的文件夹(Protected Folder),鼠标左键双击对象属性控件(ObjectAttributes.ctl)或者鼠标右键点击类名,选择编辑属性(Edit Attributes…)。

LabVIEW使用G#框架实现面向对象编程_第8张图片

10.在簇中添加一个新的属性元素。保存并关闭类型定义控件面板(Type def control)。

LabVIEW使用G#框架实现面向对象编程_第9张图片

11. 使用功能方法 GetAttributes.vi访问属性。在LabVIEW中, G# 使用数据值调用(Data Value Reference,DVR) 访问属性。

LabVIEW使用G#框架实现面向对象编程_第10张图片

12.请参考 G# 范例,进一步了解类如何工作。

G# Framework Examples 框架范例

G#框架范例: /examples/AddQ/G#

查找范例,在 LabVIEW “Find Examples…”中输入关键词 “G#”。

 

 

G# Templates 模板

创建类时有很多不同的模板供参考:

  • G#Template – 创建类的标准模板。基础或子类. 推荐(Recommended)。
  • G#Interface – 创建接口(Interface)的标准模板。
  • G#StaticTemplate – 创建仅具有静态成员(Static Member)的静态类(Static class)的模板,不能被继承。
  • LvNative – LabVIEW 母类(Native Class), 不基于引用。
  • G#InterfaceImplementation – 使用接口时的模板。
  • G#BaseTemplateG3 –用于创建和Endevo GOOP3兼容的基础类模板, 用于把类从GOOP3转换到G#。创建新类时,不推荐使用。
  • G#SubTemplateG3 – 用于创建和Endevo GOOP3兼容的子类模板,用于把类从GOOP3转换 到G#。创建新类时,不推荐使用。 

所有模板位于:/vi.lib/addons/_AddQ/G#Templates

G# Classes File Structure 类文件结构

所有G# 类具有如下相同的结构。 一个G# 类位于名为 _class的文件夹中,具有如下的结构:

  • - lvclass-文件和公共方法。
  • protected – 被保护的方法和属性定义类型定义控件 type def controls。
  • private – 类的私有方法。
  • properties – 类的属性方法. 若使用LabVIEW 2010,将包含新属性定义文件夹。
  • utils – G# 应用支持 VIs 和控价。 用于访问属性的GetAttributes 和GetClassAttributes Vis保存于此。

LabVIEW使用G#框架实现面向对象编程_第11张图片  LabVIEW使用G#框架实现面向对象编程_第12张图片

Property Definition 属性定义

属性定义文件夹将被用于包含属性。在代码中,可以使用LabVIEW类调用属性节点(Property Nodes),通过属性定义方法访问属性。

G# Wire Appearance 连线外观

G# 使用2种连线外观:

  • G#对象 – 所用的 G# 对象调用获得这样的连线外观,一条绿实线。

LabVIEW使用G#框架实现面向对象编程_第13张图片

  • G#接口–所有的G# 接口调用获得这样的连线外观,一条绿虚线。

LabVIEW使用G#框架实现面向对象编程_第14张图片

参考资料:http://addq4.se/gsharp/gsharponlinemanual.htm

你可能感兴趣的:(LabVIEW)