Please find the doc attached.
In object-oriented (OO) programming, inheritance is a way to form new classes (instances of which are called objects) using classes that have already been defined. The new classes, known as derived classes, take over (or inherit) attributes and behavior of the pre-existing classes, which are referred to as base classes (or ancestor classes). It is intended to help reuse existing code with little or no modification.
Inheritance provides the support for representation by categorization
Inheritance is also sometimes called generalization, because the is-a relationships represent a hierarchy between classes of objects.
Inheritance can be either accomplished by polymorphism or overriding (replacing)
Applications of inheritance:
There are many different aspects to inheritance. Different uses focus on different properties, such as the external behavior of objects, internal structure of the object, structure of the inheritance hierarchy, or software engineering properties of inheritance. Sometimes it's desirable to distinguish these uses, as it's not necessarily obvious from context.
One common reason to use inheritance is to create specializations of existing classes or objects. This is often called Subtyping when applied to classes. In specialization, the new class or ...
The solution clearly explains the Inheritance property of object oriented programming and its impact on software testing techniques.