Overheriting
Overheriting is a term used in object-oriented programming to describe a situation where a class inherits from multiple parent classes, but one of these parent classes has already inherited from another parent class that is also a direct ancestor of the inheriting class. This creates a diamond-shaped inheritance hierarchy. The "overheriting" refers to the fact that a common ancestor class is effectively inherited multiple times.
This phenomenon can lead to issues such as the "diamond problem," where the inheriting class may be