Interfaces are a new part of the G language in LabVIEW 2020. Interfaces exist in other object-oriented programming languages as a companion concept to classes. This document explains the reasoning LabVIEW R&D used when deciding how interfaces should fit into G. It not only discusses where we mimicked other languages and where we did something different but also why we made those choices. The aim is to help our customers adapt training materials from other languages to the LabVIEW environment and to teach users how to work with our design instead of against it.
The document assumes that you are already aware of what an interface is and how they work in LabVIEW.
You may want to review the shipping documentation and example programs before reading further. Reading this document in order to learn how to use interfaces is likely to confuse you. It is going to cover alternative designs that we did not implement and discuss corner cases that 99% of users will never ever see.
This document is a follow-on document to the 2006 document for LabVIEW classes: