LabVIEW比较LabVIEW类对象 LabVIEW接口

news2024/9/30 19:36:14

LabVIEW比较LabVIEW类对象  LabVIEW接口

使用比较功能比较LabVIEW类对象。

如比较同一个类的两个对象,例如,卡车类的两个对象,LabVIEW将比较类层次结构中所有层次的数据,类似于LabVIEW比较由簇组成的簇。

如比较不同类的两个对象,例如,比较一个卡车类对象和一个潜水艇类对象,LabVIEW比较对象所有的共有祖先类数据。在该情况下,LabVIEW仅比较汽车类共有祖先类的数据。

比较两个不同类的对象时,如共有祖先类的所有数据都相同,LabVIEW基于下列标准对对象进行排序。

LabVIEW将父类排在子类之前。例如,如比较一个汽车类的对象和一个陆上车类的对象,LabVIEW将把汽车类对象放在前面,因为它是父类的一个对象。

LabVIEW将第一个相异的类按类名称的字母顺序排列。例如,如比较一个卡车类对象和一个潜水艇类对象,LabVIEW先比较作为公共祖先类的汽车类对象。如汽车类对象的数据相同,LabVIEW将把卡车类对象排在前面,因为第一个相异的类:陆上车(Land Vehicle)和水上车(Water Vehicle),按其名称首字母排序,陆上车在水上车之前。

LabVIEW接口

在LabVIEW中,接口可以被视作是不带有私有数据控件的类,但这种微小的差异使得接口在软件架构中可以实现与类完全不同的目的。具体而言即接口可支持多重继承形式。

接口声明了对象可以扮演的角色,而无需定义如何执行该角色。通过继承接口,类声明其对象实现该角色,然后该类负责指定行为的执行方式。当一个类继承了多个接口时,其对象可被传输至需要完成不同角色的多个软件模块中。

以下项目包括工具(Tool)类,以及几个不同工具的子类。该项目还包括杠杆(Lever)接口。可以看到Tool类有一个控件,该控件定义了该类中的数据,而Lever接口则没有控件,因为接口没有私有数据。用实心立方体表示一个类()。用立方体的面表示一个接口()。接口和类使用相同的文件扩展名 .lvclass。

下图显示了Tool类,House Key类和Lever接口之间的继承关系。Tool类和Lever接口均继承自LabVIEW对象。除了拥有自己的方法以及它们各自的父类的方法之外,撬具类(Prying Tool)和平头螺丝刀类(Flathead)还继承自杠杆接口(Lever),因为它们都使用了杠杆原理。继承了杠杆接口(Lever)的方法。由于杠杆(Lever)是接口而不是类,因此这种多重继承是合法的。除LabVIEW对象外,三个不相关的类(撬具、平头螺丝刀、房间钥匙)具有一个共同的祖先——杠杆。

命名接口的惯例

请使用下列规范为接口命名。接口的名称应具有一定的描述性。

使用形容词或副词描述对象在继承接口时具有的功能。例如,如果接口表示可测量电压的硬件,则将其命名为Can Measure Voltage.lvclass。继承该接口的任何类或接口都可以测量电压。

使用一个名词来描述从接口继承的类的类别。例如,如果接口代表杠杆工具类别,则将其命名为Lever.lvclass。

接口名称避免使用大写字母"I”开头。大多数文本编程语言通常使用前导大写字母"I”来命名接口,以区分接口与类。LabVIEW使用图形化的符号来区分接口与类。此外,LabVIEW开发环境的大多数部分有意地以相同的方式处理接口与类。方法的调用方通常不在乎底层类型是接口还是类。因此,接口名称中不使用"I”,可以将类转换为接口,将接口转换为类,而无需重构代码。

关于使用接口的范例,请参考下列项目:

labview\examples\Object-Oriented Programming\BasicInterfaces\Basic Interfaces.lvproj

labview\examples\Object-Oriented Programming\Actors andInterfaces\Actors and Interfaces.lvproj

需要说明的是,上述的例程和文档,都是可以下载的,双击即可打开,其中压缩文件是可以采用粘贴复制的方式,拷贝到硬盘上。这不是图片,各位小伙伴看到后尝试一下,这个问题就不用加微信咨询了。有关LabVIEW编程、LabVIEW开发等相关项目,可联系们。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/54977.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Coremail邮件安全:如何防范校园邮件新威胁

11月23日,Coremail举办《校园安全交流防护会暨新技术应用分享》直播,Coremail邮件安全解决方案专家刘骞,从目前面临的邮件安全防护难点、盗号威胁等角度提出针对教育行业的有效邮件安全解决方案。 教育行业面临邮件安全问题 问题1&#xff…

[附源码]Python计算机毕业设计Django健身房预约平台

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

【软件测试】身为测试人,经常背锅的我该咋办?

目录:导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜)前言 当产品上线的或者开…

Live800:智能客服时代,智能营销机器人有哪些套路?

流量已进入存量时代,大量企业为了活下去陷入竞争“内耗”。 面对更挑剔的客户需求、更精细的运营挑战,企业客户服务场景从幕后走向台前,脱离了传统的、被动的消费语境,成为完成客户体验闭环、主动触达客户、甚至成为驱动企业“第…

[附源码]Python计算机毕业设计SSM开放式实验室预约系统(程序+LW)

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

基于无线通信模块对焦炉发讯装置的设计

现有的交换机控制系统多采用PLC控制系统,当焦炉出现故障,需要交换机停止加热时,需有人工进行干预时存在滞后性;以上操作需要操作人员具有良好的心理素质和过硬的技术能力,存在误操作的可能。当交换机本身及外部设备发生…

Lambda表达式

注:函数式接口和Lamda的区别 函数式接口:即只有一个抽象方法的接口,而这一个抽象方法的接口可以由Lamda表达式来实现。 1.Lambda表达式 1.1 省略规则 参数类型可以省略方法体只有一句代码时大括号和唯一一句代码的分号可以省略方法只有一…

Xilinx IOBUF 的用法

Xilinx IOBUF 的用法 文章目录Xilinx IOBUF 的用法一、概念1. 基本概念2. 硬件结构2.1 IOBUF2.2 OBUFT二、实例三、参考文献一、概念 1. 基本概念 **应用场景:**在vivado中,连接的管脚的信号一般都会自动添加OBUF或IBUF。但是对于inout类型的接口&#…

腾讯云发布智慧员工管理方案,支持组织360度协作

提升组织活力和协作效率是企业打造自身竞争力的关键因素。12月1日,腾讯云发布智慧员工管理方案,融合腾讯电子签、腾讯乐享、腾讯微卡、腾讯云HiFlow、数据连接器等多款产品,打造高效、安全、共享、低碳的组织协同网络。 腾讯云副总裁答治茜表…

MyBatis-Plus配置之基础配置(SpringBoot)

系列文章目录 Mybatis-Plus知识点[MyBatisMyBatis-Plus的基础运用]_心态还需努力呀的博客-CSDN博客 Mybatis-PlusSpringBoot结合运用_心态还需努力呀的博客-CSDN博客MyBaits-Plus中TableField和TableId用法_心态还需努力呀的博客-CSDN博客 MyBatis-Plus中的更新操作&#x…

排序算法——选择排序、冒泡排序、插入排序 超易理解【JAVA】

一、什么是选择排序算法? 选择排序(Selection sort)是一种简单直观的排序算法。 选择排序是不稳定的排序方法。时间复杂度O(n2) 工作原理 第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在…

redis安装(单机模式和哨兵模式)

单机模式(学习环境建议): 1.添加软件安装源 yum install epel-release 2.安装redis yum install redis -y 3.启动redis systemctl start redis 4.允许开机启动 systemctl enable redis 5.修改配置 vim /etc/redis.conf 6.bind改成…

我的期末网页设计HTML作品——咖啡文化网页制作

🎀 精彩专栏推荐👇🏻👇🏻👇🏻 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业…

[附源码]计算机毕业设计智能家电商城Springboot程序

项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 Maven管理等等。 环境需要 1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境:IDEA,Eclipse,Myeclipse…

深入浅出学习透析 Nginx 服务器的基本原理和配置指南「运维操作实战篇」

Nginx前提回顾 Nginx 是一个高性能的 Web 和反向代理服务器, 它具有有很多非常优越的特性: Web服务器:相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,体现更高的效率,这点使 Nginx 尤其受到虚拟主机提供商的欢…

python中利用随机数绘制曲线

使用python绘制数学函数图像很方便,在构造函数自变量取值时可以利用随机数生成模块,因本人工作需要,现将python中随机数的使用,以及二次函数图像绘制进行梳理总结 目录 1. python中的随机数产生 1.1 random模块 1.1 numpy.ran…

基于Zephyr平台nRF Connect SDK在Windows10下开发环境的快速搭建

基于Zephyr平台nRF Connect SDK在Windows10下开发环境的快速搭建 前言. Nordic开发SDK需要在线搭建,对于网络不太好的,实在是费时费力,该文特点是利用拷贝已经搭建好的一个SDK目录,直接在新的PC平台实现大部分文件的离线安装&…

职业成功指南:10条核心原则(下)丨三叠云

本期继续讲一下职场。 我将通过这两期的内容,为你提供一套简单的核心原则,希望能在职业道路上帮助到你。 让我们一起走进《职业成功指南:10条核心原则》下期 6. 避免攀比陷阱 在职业生涯的早期,你很容易将自己与周围的人进行比…

《Linux运维总结:Centos7.6部署二进制mongodb4.2.23三节点副本集群》

一、Mongodb集群模式 1、三种集群介绍 MongoDB有三种集群部署模式,分别为主从复制(Master-Slaver)、副本集(Replica Set)和分片(Sharding)模式。 1、Master-Slaver 是一种主从副本的模式&#x…

[附源码]计算机毕业设计智慧园区运营管理系统Springboot程序

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…