In conventional, structured programming, actions like print
are often isolated from the data by placing them in subroutines or modules.
A module typically contains an operation for implementing one simple action.
You might have a PRINT module, a SEND module, an ERASE module. The data these
modules operate on must be constructed by the programmer and passed to the
modules to perform an action.
But with object-oriented programming, it is the data that is modularized.
And each data module includes its own operations for performing actions directly
related to its data. The programmer that uses the objects need only be aware of the
operations an object performs and not how the data is organized internally.
In the case of report, the report object would contain its own built-in
PRINT, SEND, ERASE, and FILE operations.
Object-oriented programming lets you model real-world objects—even
very complex ones—precisely and elegantly. As a result, object manipulation
becomes easier and computer instructions become simpler and can be modified
later with minimal effort.
Object-oriented programming
hides any information
that is not important for acting on an object, thereby concealing the object's
complexities. Complex tasks can then be initiated simply, at a very high level.