parts of object-oriented programming. The end result is
only as good as the design. Just like the processes of
breaking software into modules or writing algorithms for
complex systems, deciding how to classify the environment
into objects requires having a good understanding of
the application and user environment. The process
revolves around finding a common structure, traits, or even
behavior between the components that exist in the environment.
Just like writing an algorithm should be the first
step for procedural abstraction, identifying the classes
and objects should be done prior to implementing using
C++. The result leads us to cleaner designs with a greater
chance for reusable classes.