Object oriented software
Object oriented software designs in LabVIEW follow many of the same programming principals as object oriented software in other programming languages. In general object oriented software is done in LabVIEW by first creating a class. This class is an object that has has the ability to add functionality to data. This allows for abstraction of the underlining data and allows operations to happen on a more segmented part of the application. This often leads to better reusability and scalability.
Object oriented software allows for specific data, or functions to have scope set to them which restricts access from other parts of the application. A common use for this is with internal references, or sessions, which if given to the rest of the application could be inadvertently closed. By keeping the internal references from being accessed externally, an object can have more control over who has access, and how its internals are accessed.
Using object oriented software in LabVIEW allows for a class to inherit from another class. This child class has the ability to call all the parents functions, but then also can optionally override a parents call if the VI is setup to be dynamic dispatch.
Calling a parents initialize function might not be sufficient for all children, and so a dynamic dispatch call can override the parents call with the child's specific implementation. This child implementation can also call the parent's depending on how the VI is written.