Is a problem that happens when multiple superclasses with attributes or methods of the same name lead to ambiguity in the derived subclass.

It occurs when two classes C and C both inherit from A and D inherit from B and C. If there is a method or attribute that has the same name but is implemented differently in B and C, then which implementation should D inherit?