第6章LabVIEW面向对象程序设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
类中的每个对象都是该类的对象实例,系统运行时通过 类定义属性初始化可以生成该类的对象实例。
3
6.1面向对象
属性与方法的概念
对象是属性及方法的封装体; 对象的属性是指描述对象的数据,这些数据可以是系统 或用户定义的数据类型,也可以是一个对象的数据类型 ; 对象的方法是指定义在对象属性上的一组操作的集合; 方法是为响应消息而完成的算法,表示对象内部实现的 细节,对象方法集合体现了对象的行为能力;
6
6.2LabVIEW与面向对象程序设计
继承
LabVIEW在实现继承特性时坚持这样一条原则:LabVIEW 用户能够实现类的继承,可以选择一个已有类作为父类 ,创建一个子类,并且可以覆盖父类中的方法; LabVIEW提供了(Object)类,作为所有LabVIEW类的祖 先; LabVIEW目前只支持公共继承,而不支持私有继承和多 继承。
9
6.3LabVIEW对象基本实现
创建类
通过菜单“File→New→Class”或者在项目浏览器的右 键快捷菜单中选择“New→Class”项,都可以创建 LabVIEW类; 创建类时,LabVIEW将创建一个新的类库文件( .lvclass),该文件可以记录类的私有数据控件( Private Data Control)和所有被创建的成员VI的信息 ,包括VI列表及VI的属性等; 类的数据被定义在私有数据控件中,私有数据控件是一 个数据簇,与类库文件是一一对应的,并保存在类库文 件中,私有数据控件的名称以“.ctl”作为扩展名。
10
6.3LabVIEW对象基本实现
私有数据控件示例
类库文件中的 私有数据控件
11
6.3LabVIEW对象基本实现
编辑私有数据成员
在项目浏览器窗口双击类的私有数据控件,可以对类中的数据成 员进行编辑,将需要的控件放置到该类的定义私有数据控件中 ,作为类私有数据簇中的成员。
5
6.2LabVIEW与面向对象程序设计
LabVIEW引入面向对象编程时的术语
LabVIEW依然使用家族关系术语:父与子、兄弟与堂兄 弟等,这些都是用户已经熟悉的术语,当提到某个类的 父类时,都可以理解这两个类之间的关系; LabVIEW类成员的限定性术语:依然采用“私有的”、 “共有的”和“受保护的”等词汇。
8
6.2LabVIEW与面向对象程序设计
多态
多态性表现有两种,即编译时的多态性和运行时的多态性 。编译时的多态性是用函数的重载来实现的,运行时的 多态性是用虚函数来实现的,而这两种方式在LabVIEW 的类中都没有实现。 首先,LabVIEW类不支持重载,但这种多态性的思想在 LabVIEW的早期版本中就一直存在并发挥着重要作用, 主要表现为多态的函数、VI和单位; 其次,对于虚函数而言,“虚拟”和“虚拟分配”的概 念在LabVIEW中也面临一些问题,LabVIEW面向对象编程 选择了“动态”和“动态分配”来代替这两个术语。
私有数 据成员
12
6.3LabVIEW对象基本实现
设置继承
在LabVIEW中,通过“继承”可在现有类的基础上创建 一个新类; 当一个新类被设置为继承另一个LabVIEW类时,这个新 类就可以使用它所继承的类中“公共”及“保护”型的 成员VI; 在LabVIEW中,所有的类都默认继承LabVIEW Object的 基本类。 Nhomakorabea13
6.3LabVIEW对象基本实现
设置继承示例
默认继 承关系
在面向对象程序设计中,继承表达的是类之间的关系,这种关 系使得一个类可以继承另一类的属性和方法,从而提供了通过 现有的类创建新类的方法,也提高了软件复用的程度; 多态是面向对象程序设计的重要特性之一,是指不同的对象收 到相同的消息时产生不同的操作行为,或者说同一个消息可以 根据发送消息的对象的不同而采用多种不同的操作行为。
LabVIEW面向对象程序设计
Intelligent Electronics Institute Huazhong University of Science & Technology
目录
面向对象 LabVIEW与面向对象程序设计
LabVIEW对象基本实现
LabVIEW对象高级技巧
实例介绍
提示与建议
对象的属性和方法是对象定义的组成要素,它们统称为 对象的特征。
4
6.1面向对象
面向对象中的三要素:
封装 继承
多态
在面向对象的程序设计中,封装就是把相关的数据和代码结合 成一个有机的整体,形成数据和操作代码的封装体,对外只提 供一个可以控制的接口,内部大部分的实现细节对外隐蔽,达 到对数据访问权的合理控制;
习题
2
6.1面向对象
对象与类的概念
对象是系统中用来描述客观事物的一个实体,是构成系 统的基本单位,由属性和对这些属性进行的操作等构成; 类是对象的抽象及描述,是具有共同属性和操作的多个 对象的统一描述体,类也是对象,是一种集合对象;
在类的描述中,每个类要有一个名字,要表示一组对象 的共同特征,还必须给出一个生成对象的实例的具体方法;
7
6.2LabVIEW与面向对象程序设计
封装
LabVIEW实现了类的封装,但对封装特征进行了选择; LabVIEW类只包含对私有数据的支持,不提供公共数据 和受保护的数据两种属性; LabVIEW类中的方法,不仅可以是私有的,还可以是公 共的或受保护的。
3
6.1面向对象
属性与方法的概念
对象是属性及方法的封装体; 对象的属性是指描述对象的数据,这些数据可以是系统 或用户定义的数据类型,也可以是一个对象的数据类型 ; 对象的方法是指定义在对象属性上的一组操作的集合; 方法是为响应消息而完成的算法,表示对象内部实现的 细节,对象方法集合体现了对象的行为能力;
6
6.2LabVIEW与面向对象程序设计
继承
LabVIEW在实现继承特性时坚持这样一条原则:LabVIEW 用户能够实现类的继承,可以选择一个已有类作为父类 ,创建一个子类,并且可以覆盖父类中的方法; LabVIEW提供了(Object)类,作为所有LabVIEW类的祖 先; LabVIEW目前只支持公共继承,而不支持私有继承和多 继承。
9
6.3LabVIEW对象基本实现
创建类
通过菜单“File→New→Class”或者在项目浏览器的右 键快捷菜单中选择“New→Class”项,都可以创建 LabVIEW类; 创建类时,LabVIEW将创建一个新的类库文件( .lvclass),该文件可以记录类的私有数据控件( Private Data Control)和所有被创建的成员VI的信息 ,包括VI列表及VI的属性等; 类的数据被定义在私有数据控件中,私有数据控件是一 个数据簇,与类库文件是一一对应的,并保存在类库文 件中,私有数据控件的名称以“.ctl”作为扩展名。
10
6.3LabVIEW对象基本实现
私有数据控件示例
类库文件中的 私有数据控件
11
6.3LabVIEW对象基本实现
编辑私有数据成员
在项目浏览器窗口双击类的私有数据控件,可以对类中的数据成 员进行编辑,将需要的控件放置到该类的定义私有数据控件中 ,作为类私有数据簇中的成员。
5
6.2LabVIEW与面向对象程序设计
LabVIEW引入面向对象编程时的术语
LabVIEW依然使用家族关系术语:父与子、兄弟与堂兄 弟等,这些都是用户已经熟悉的术语,当提到某个类的 父类时,都可以理解这两个类之间的关系; LabVIEW类成员的限定性术语:依然采用“私有的”、 “共有的”和“受保护的”等词汇。
8
6.2LabVIEW与面向对象程序设计
多态
多态性表现有两种,即编译时的多态性和运行时的多态性 。编译时的多态性是用函数的重载来实现的,运行时的 多态性是用虚函数来实现的,而这两种方式在LabVIEW 的类中都没有实现。 首先,LabVIEW类不支持重载,但这种多态性的思想在 LabVIEW的早期版本中就一直存在并发挥着重要作用, 主要表现为多态的函数、VI和单位; 其次,对于虚函数而言,“虚拟”和“虚拟分配”的概 念在LabVIEW中也面临一些问题,LabVIEW面向对象编程 选择了“动态”和“动态分配”来代替这两个术语。
私有数 据成员
12
6.3LabVIEW对象基本实现
设置继承
在LabVIEW中,通过“继承”可在现有类的基础上创建 一个新类; 当一个新类被设置为继承另一个LabVIEW类时,这个新 类就可以使用它所继承的类中“公共”及“保护”型的 成员VI; 在LabVIEW中,所有的类都默认继承LabVIEW Object的 基本类。 Nhomakorabea13
6.3LabVIEW对象基本实现
设置继承示例
默认继 承关系
在面向对象程序设计中,继承表达的是类之间的关系,这种关 系使得一个类可以继承另一类的属性和方法,从而提供了通过 现有的类创建新类的方法,也提高了软件复用的程度; 多态是面向对象程序设计的重要特性之一,是指不同的对象收 到相同的消息时产生不同的操作行为,或者说同一个消息可以 根据发送消息的对象的不同而采用多种不同的操作行为。
LabVIEW面向对象程序设计
Intelligent Electronics Institute Huazhong University of Science & Technology
目录
面向对象 LabVIEW与面向对象程序设计
LabVIEW对象基本实现
LabVIEW对象高级技巧
实例介绍
提示与建议
对象的属性和方法是对象定义的组成要素,它们统称为 对象的特征。
4
6.1面向对象
面向对象中的三要素:
封装 继承
多态
在面向对象的程序设计中,封装就是把相关的数据和代码结合 成一个有机的整体,形成数据和操作代码的封装体,对外只提 供一个可以控制的接口,内部大部分的实现细节对外隐蔽,达 到对数据访问权的合理控制;
习题
2
6.1面向对象
对象与类的概念
对象是系统中用来描述客观事物的一个实体,是构成系 统的基本单位,由属性和对这些属性进行的操作等构成; 类是对象的抽象及描述,是具有共同属性和操作的多个 对象的统一描述体,类也是对象,是一种集合对象;
在类的描述中,每个类要有一个名字,要表示一组对象 的共同特征,还必须给出一个生成对象的实例的具体方法;
7
6.2LabVIEW与面向对象程序设计
封装
LabVIEW实现了类的封装,但对封装特征进行了选择; LabVIEW类只包含对私有数据的支持,不提供公共数据 和受保护的数据两种属性; LabVIEW类中的方法,不仅可以是私有的,还可以是公 共的或受保护的。