Multiple Inheritance

It is possible for a class to be defined with more than one superclass. Because the class inherits properties from multiple superclasses, this is referred to as multiple inheritance.

Multiple inheritance is a complex and controversial topic. What should be done about conflicting slot or method definitions? (This is sometimes called a "name clash.") What should be done about slots that are inherited from two or more superclasses, but that originate with a common ancestor class? (This is sometimes called "repeated inheritance".) Different systems take different approaches.

Quintus Objects supports multiple inheritance in a limited but still useful way. It does not allow repeated inheritance, and it places all the responsibility for resolving name clashes on the programmer. This section describes the multiple inheritance features of Quintus Objects.