Expanding object-oriented concepts and terminology
In this section, we will introduce essential object-oriented concepts, as well as applicable terminology that will accompany these key ideas.
From Chapter 5, Exploring Classes in Detail, you now understand the key OO ideas of encapsulation and information hiding, and how C++ supports these ideals through the C++ class. Now, we will look at how we can grow a hierarchy of related classes, using a very general class as a building block, and then extend that class by creating a more specific class. Through growing a hierarchy of related classes in this repeated fashion, OO systems provide building blocks of potential reuse. Each class within the hierarchy is encapsulated, so maintenance and upgrades to a specific class can be made more easily and without impact to the entire system. By incrementally refining each class with a more specific and more detailed class to build a hierarchy of related classes, specific maintenance for each...