inheritance

The capability of a class to derive properties and characteristics from another class is called Inheritance. 
Inheritance is not for code-reuse. You sometimes get a little code reuse via inheritance, but the primary purpose for inheritance is dynamic binding, and that is for flexibility. Composition is for code reuse, inheritance is for flexibility.