Inheritance, in an object-oriented system, is the ability of an object to inherit data and functionality from its parent object. Therefore, a child object can substitute for the parent object. Also, by using inheritance, you can create new classes from existing classes instead of starting at the beginning and creating them new. You can then write new code to add the features required in the new class. The parent class on which the new class is based is know n as a base class, and the child class is known as a derived class. When you create a derived class, it is important to remember that a derived class can substitute for the base class type. Therefore, inheritance is a typeclassification mechanism in addit ion to a code-reuse mechanism, and the former is more important than the latter. In this module, you will learn how to derive a class from a base class. You will also learn how to implement methods in a derived class by defining them as virtual methods in the base class and overriding or hiding them in the derived class, as required. You will learn how to seal a class so that it cannot be derived from. You will also learn how to implement interfaces and abstract classes, which define the terms of a contract to which derived classes must adhere. After completing this module, you will be able to: n Derive a new class from a base class, and call members and constructors of the base class from the derived class. n Declare methods as virtual and override or hide them as required. n Seal a class so that it cannot be derived from. n Implement interfaces by using both the implicit as well as the explicit methods. n Describe the use of abstract classes and their implementation of interfaces.