Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
The previous chapter examined the first pillar of OOP: encapsulation. At that time, you learned how to build a single well-defined class type with constructors and various members (fields, properties, constants, and read-only fields). This chapter will focus on the remaining two pillars of OOP: inheritance and polymorphism.
First, you will learn how to build families of related classes using inheritance. As you will see, this form of code reuse allows you to define common functionality in a parent class that can be leveraged, and possibly altered, by child classes. Along the way, you will learn how to establish a polymorphic interface into the class hierarchies using virtual and abstract members. I wrap up by examining the role of the ultimate parent class in the .NET base class libraries: System.Object.