Interface inheritance
Appearance
In object-oriented programming, interface inheritance is type of inheritance wherein one or more classes share a set of messages. This sharing can be realized by agreement, as in Python, or by use of programming-languge-specific machinery, as in Java.
Interface inheritance is considered the most important aspect of inheritance. It is often conflated with the notion of implementation inheritance in the object-oriented programming paradigm. There is, however, a subtle, but notable difference: the latter is less flexible than the former, as it is unamiable to encapsulation.