LabVIEW 2020에는 인터페이스가 도입되었습니다. 인터페이스는 프라이빗 데이터 컨트롤이 없는 클래스라고 생각할 수 있지만, 그 작은 차이로 인해 소프트웨어 구조에서 인터페이스를 클래스와는 전혀 다른 용도로 사용할 수 있습니다. 구체적으로, 인터페이스에서는 다중 상속이 가능합니다.

인터페이스는 객체가 그 역할을 수행하는 방법을 정의하지 않고 수행할 수 있는 역할을 선언합니다. 인터페이스에서 상속함으로써 클래스는 객체가 해당 역할을 수행한다고 선언하며 동작 수행 방법을 지정하는 책임을 갖게 됩니다. 클래스가 여러 인터페이스를 상속하는 경우, 해당 객체를 다른 역할을 필요로 하는 여러 소프트웨어 모듈에 전달할 수 있습니다.

다음 프로젝트에는 다양한 도구의 여러 하위 클래스를 가진 도구 클래스가 포함되어 있습니다. 또한 이 프로젝트에는 레버 인터페이스가 포함되어 있습니다. 도구 클래스에는 클래스의 데이터를 정의하는 컨트롤이 있지만 인터페이스에는 프라이빗 데이터가 없기 때문에 레버 인터페이스에는 컨트롤이 없습니다. 클래스는 단색 큐브 ()로 표시됩니다. 인터페이스는 큐브의 면들 ()로 표시됩니다 인터페이스와 클래스는 같은 파일 확장자 .lvclass를 사용합니다.



다음 이미지는 도구 클래스, 집 키 클래스 및 레버 인터페이스 간의 상속 관계를 보여줍니다. 도구 클래스와 레버 인터페이스는 모두 LabVIEW 객체를 상속합니다. 또한 쇠지레 도구 클래스 및 일자 드라이버 클래스도 자신만의 메소드 및 각 상위 클래스에 대해 고유한 메소드를 갖는 것 외에도 레버로도 사용될 수 있기 때문에 레버 인터페이스를 상속합니다. 이들은 레버 인터페이스의 메소드를 상속합니다. 레버는 클래스가 아닌 인터페이스이므로 이 다중 상속에는 문제가 없습니다. 서로 관련이 없는 3개의 클래스 (쇠지레 도구, 일자 드라이버, 집 키)에는 LabVIEW 객체 이외의 공통 상위 항목 (레버)이 있습니다.



다음과 같은 방법으로 인터페이스를 생성할 수 있습니다.

  • 프로젝트 탐색기 윈도우의 내 컴퓨터에서 마우스 오른쪽 버튼을 클릭한 후 바로 가기 메뉴에서 새로 만들기 » 인터페이스를 선택합니다.
  • 파일 » 새로 만들기를 선택한 후, 새로 생성 리스트에서 기타 파일 » 인터페이스를 선택합니다.
  • LabVIEW 클래스:인터페이스 생성 메소드를 사용합니다.

인터페이스에 추가된 프로퍼티 및 메소드에 대한 더 자세한 정보는 추가 및 변경된 프로퍼티, 메소드 및 이벤트 섹션을 참조하십시오.

인터페이스 사용에 대한 예제는 다음 프로젝트를 참조하십시오.

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