LabVIEW2020版本新推出了接口类的概念,本文主要介绍普通类与接口类的区别和用法。
要理解接口类,应该从思想和用法两个层面解释。
思想层面:
LabVIEW的接口类与其他编程语言里的接口概念是类似的。一个对象可以继承一个父类和多个接口。这解决了之前的LabVIEW版本无法多继承的问题。
虽然继承父类和继承接口类都叫继承,但是两个继承的概念完全不同。
第一点:你爸爸的就是你的
普通的类继承就是传统意义上的继承,你爸爸的就是你的。
你爸爸英语口语10级,你继承了你爸爸,你生出来的时候(类被创建的时候)天生就会英语口语10级。当然,一个人只能有一个爸爸,所以你只能从一个父类继承而来。
第二点:继承接口是考执业资格证
接口类的继承类似于职业资格证,你的付出后天努力才能继承。
比如你想去电厂上班,人家电厂规定上班必须考过电工10级。因为你爸爸不是10级电工,所以你天生不会,你就不能去上班。如果你非要去,你得通过后天努力(实现接口类的方法)才能获得这个资格证。所以,在你继承一个接口类后,你必须自己努力实现这个接口的所有方法。
当然一个人可以考很多个职业资格证,所以你可以继承多个接口。
第三点:执业资格证可以传给你儿子
子类可以直接继承父类已经继承的接口。
如果你经过努力考过了10级电工(继承了10级电工接口),那你儿子出生的时候就能直接去电厂上班还会说英语(创建时即10级口语+10级电工)。
接口很大程度上是降耦合用的,比如上面电厂的例子,电厂只需要规定一个接口(用人标准)而不需要关心具体谁来干活。如果电厂也是一个类的话, 那电厂和工人这两个类就解耦了。
在大项目程序的时候,你可以规定好电厂的用人标准(接口类),然后让两个工程师分别负责编写电厂类和工人类的代码,这样两个工程师的代码几乎相互不影响,这就是降耦合。
用法层面:
1、接口类不能包含私有数据。如下图所示,根本没有放私有数据的地方。
2、接口类的方法(VI)必须是动态VI(静态也可以,但是没有私有数据的静态VI没什么用。),且只有连线板有意义,其他代码写了也没用。