Language > Objects > Using IDL Objects > Object-Oriented Programming Concepts

# Object-Oriented Programming Concepts

Traditional programming techniques make a strong distinction between routines written in the programming language (procedures and functions in the case of IDL) and data to be acted upon by the routines. Object-oriented programming begins to remove this distinction by melding the two into objects that can contain both routines and data. Object orientation provides a layer of abstraction that allows the programmer to build robust applications from groups of reusable elements.

IDL provides a set of tools for developing object-oriented applications. IDL’s Object Graphics engine is object-oriented, and a class library of graphics objects allows you to create applications that provide equivalent graphics functionality regardless of your (or your users’) computer platform, output devices, etc. As an IDL programmer, you can use IDL’s traditional procedures and functions as well as the new object features to create your own object modules. Applications built from object modules are, in general, easier to maintain and extend than their traditional counterparts.

A complete discussion of object orientation is beyond the scope of these topics—if you are new to object oriented programming, consult one of the many references on object oriented program that are available.