Object-oriented systems present information in units called objects which consist of data and a set of operations to manipulate them. Each object has the ability to receive messages from other objects, store this information, and perform a limited number of operations based on the data. By containing logic and data, they are intelligent, enabling them to link with other objects. Data encapsulation stores the data and instructions on what the data can do. Message passing defines how objects interact with one another.
Inheritance defines what one object can inherit from another.
Objects with similar characteristics are then classed together and arranged in a hierarchy based on principles of inheritance. Each object inherits the general characteristics of the one above it, leaving only the differences that apply to a specific application to be coded. Because object oriented systems group data and the operations performed on them into objects, they dramatically reduce the amount of programming a programmer must create, and reduce the complexity and quantity of programming operations required to develop an application. Thus the object orientation approach is a form of standardization, reducing development costs and increasing software portability. As one might expect, the Act does not deal with electronically generated or stored information.