Implementation inheritance
Appearance
In programming, Implementation inheritance is the inheritance of the full functionality of a class, as opposed to the inheritance of an interface, which simply defines the methods that must be present.
For example, in Java, this relationship is demonstrated by the use of the "extends" keyword, which denotes that a child class contains all functionality from the class it extends. With an interface, however, the child class implements all functionality itself.
The use of implementation inheritance is generally frowned upon as improper programming.[1]