OO Concept: Abstraction & Encapsulation
Description
Object Oriented methodology is the latest and most powerful way to analyse,
design, implement, evolve and maintain complex software systems. It has developed
partly by building on lessons learned on earlier methodologies such as
SASD (Structured Analysis and Structured Design) and partly by understanding
the basic rules of complex systems that arise in nature. By examining
successful complex systems, both in artificial and natural, it is at once
apparent that the complexity is not arbitrary but highly structured. Such systems
can be broken down into sub-systems having internal complexity but displaying
a much simpler form externally. Individual sub-systems can, in turn, be broken
down
into small sub-systems. Each time the same theme recurs: a system has internal
complexity but externally simplicity. These are the twin pillars of Encapsulation
and Abstraction on which OO is built.
Encapsulation is the hiding of internal complexity and Abstraction is the
presentation of simple concept (or object) to the external world. Consider
a neutrino generator object. Internally it may be based on a complex physical
model, but externally it should be usable by someone who neither knows or
cares about this complexity and simply wants a source of neutrino tracks.
Go Back to the
The C++ Crib Top Page
If you have any comments about this page please send them to
Nick West