Training Course Details: Object-Oriented Design and Programming in LabVIEW

Publish Date: Jul 02, 2019 | 2 Ratings | 2.00 out of 5 | Print


This page describes the Object-Oriented Design and Programming in LabVIEW training course offered through NI Training and Certification.

Register online at or contact us in one of the following ways

  • call: (800) 433-3488
  • fax: (512) 683-9300
  • email:
Outside North America, contact your local NI Office. Worldwide Contact Info:

Table of Contents

  1. Course Overview
  2. Course Outline
  3. Suggested Next Courses

1. Course Overview

Object-oriented (OO) programming has demonstrated its superiority over procedural programming for solving a variety of problems. Object-oriented design encourages cleaner interfaces between sections of code and results in code that is easier to debug and scales better for large programming teams.  Object-oriented programming is the development of code in a language that enforces object-oriented design principles.  This course covers the fundamental concepts of object-oriented design and programming and then demonstrates how those concepts are implemented in LabVIEW.


  • Instructor-Led Classroom: Two (2) Days
  • Instructor-Led Online: Three (3) 4-hour sessions, plus homework
  • LabVIEW users who need to improve the readability, scalability, maintainability, or reusability  of their code
  • LabVIEW users who want  to develop code that is easier to debug
  • LabVIEW users who are familiar with
    object-oriented programming in other languages and want to know how to implement object-oriented designs in LabVIEW
  • LabVIEW Core 3 or equivalent experience
NI Products Used During the Course
  • LabVIEW Professional Development System

After attending this course, you will be able to:

  • Determine the appropriateness of using an
    object-oriented approach to develop an application
  • Design an application using object-oriented design principles
  • Implement a basic class hierarchy using LabVIEW classes
  • Use LabVIEW features that provide additional functionality to LabVIEW classes
  • Implement an application using common
    object-oriented design patterns
  • Modify an existing LabVIEW application to replace common patterns with LabVIEW objects

<<Back to course details

Back to Top

2. Course Outline

Lesson Overview Topics
Introduction Given a development project, the learner will be able to determine if an object-oriented approach should be used for designing and implementing the application.
  • What is a Class?
  • What is an Object?
  • What is Object-Oriented Design?
  • What is Object-Oriented Programming?
Designing an Object-Oriented Application Given a development project, the learner will be able to derive a class hierarchy for the application using object-oriented design principles.
  • Object-Oriented Design
  • Differentiating Classes
  • Identifying Classes and Methods
  • Class Relationships
  • Common Design Mistakes
Object-Oriented Programming in LabVIEW Given a development project and a class hierarchy, the learner will be able to develop and use classes in LabVIEW that are readable, scalable, maintainable, and reusable.
  • Introduction to Object-Oriented Programming in G
  • LabVIEW Classes
  • Encapsulation
  • Inheritance
  • Dynamic Dispatch
  • Tools
  • Common Use Cases
Object-Oriented Tools and Design Patterns Given a development project and a class hierarchy, the learner will be able to develop an object-oriented LabVIEW application that leverages one or more existing tools or design patterns.
  • Object References and Construction Guarantees
  • Front Panel Displays for Object Data
  • Design Patterns: Introduction
  • Channeling Pattern
  • Aggregation Pattern
  • Factory Pattern
  • Design Patterns: Conclusion
Reviewing an Object-Oriented Application Given a completed LabVIEW application, the learner will be able to review, refactor, and deploy the code using good object-oriented design and programming practices.
  • Code Review
  • Migrating to LabVIEW Classes
  • Deployment
  • Additional Resources

<<Back to course details

Back to Top

3. Suggested Next Courses

  • Managing Software Engineering in LabVIEW
  • Advanced Architectures in LabVIEW

<<Back to course details


Back to Top

Bookmark & Share


Rate this document

Answered Your Question?
Yes No