nObject-oriented solutions are designed based on an inheritance hierarchy which defines the relationships between classes, where one class shares the structure and/or behavior of one or more classes.
nTo provide this type of
design requires that we understand
how to implement such relationships between
objects. Therefore, our first step in understanding object-oriented programming is to learn the syntax and semantics of inheritance hierarchies.
nWe will also learn how to extend abstractions with new functionality even when the code for those abstractions is not available.